Azure DevOps中删除了服务连接,现在无法选择新的连接

43次阅读
没有评论

问题描述

在Azure DevOps中删除了他认为未使用的服务连接,现在无法更改现有流水线的连接。构建流水线是基于yaml的,但服务连接是在UI中设置的,因此yaml文件中不包含AzureSubsciption定义。如果尝试运行构建流水线,会出现以下错误:
Azure DevOps中删除了服务连接,现在无法选择新的连接
如果尝试编辑流水线,会出现以下错误:
Azure DevOps中删除了服务连接,现在无法选择新的连接
用户还有另一个服务连接(GitHub App),他已经将其提供给所有流水线。是否有办法修复现有的流水线,而不必重新创建它们?以下是构建的当前yaml文件:

pool:
  vmImage: 'ubuntu-latest'
variables:
  MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
  MAVEN_OPTS: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
steps:
- script: 'wget https://archive.apache.org/dist/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.zip'
- task: ExtractFiles@1
  inputs:
      archiveFilePatterns: 'apache-maven-3.8.6-bin.zip'
      destinationFolder: '$(build.sourcesdirectory)/maven'
- task: Cache@2
  inputs:
    key: 'maven | "$(Agent.OS)" | **/pom.xml'
    restoreKeys: |
      maven | "$(Agent.OS)"
      maven
    path: $(MAVEN_CACHE_FOLDER)
  displayName: Cache Maven local repo
- task: DownloadSecureFile@1
  inputs:
    secureFile: 'settings.xml'
  displayName: Download settings.xml file
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m $(MAVEN_OPTS)'
    publishJUnitResults: false
    javaHomeOption: 'JDKVersion'
    mavenVersionOption: 'Path'
    mavenPath: '$(build.sourcesdirectory)/maven/apache-maven-3.8.6'
    mavenAuthenticateFeed: true
    effectivePomSkip: false
    sonarQubeRunAnalysis: false
    goals: 'test'
  displayName: execute munit tests
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m $(MAVEN_OPTS)'
    publishJUnitResults: false
    javaHomeOption: 'JDKVersion'
    mavenVersionOption: 'Path'
    mavenPath: '$(build.sourcesdirectory)/maven/apache-maven-3.8.6'
    mavenAuthenticateFeed: false
    effectivePomSkip: false
    sonarQubeRunAnalysis: false
    goals: 'package -DskipTests'
  displayName: package solution
- task: PublishPipelineArtifact@1
  inputs:
    targetPath: $(System.DefaultWorkingDirectory)
    artifact: 'drop'
  displayName: Publish deployment artifacts

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在Azure DevOps中,如果删除了服务连接,可以通过以下步骤修复现有的流水线:
1. 打开Azure DevOps中的流水线编辑器。
2. 导航到需要更改连接的步骤。
3. 在步骤的属性中,找到服务连接属性。
4. 单击服务连接属性旁边的下拉箭头,选择一个新的服务连接。
5. 保存并提交更改。
这将更改流水线中的服务连接,并使其与新的服务连接关联。

方案2

如果无法通过方案1修复现有的流水线,可以尝试以下步骤:
1. 创建一个新的流水线,使用正确的服务连接。
2. 将原始流水线中的所有步骤复制到新的流水线中。
3. 验证新的流水线是否正常工作。
4. 删除原始流水线。

这将创建一个新的流水线,并使用正确的服务连接。通过复制原始流水线中的所有步骤,可以确保新的流水线与原始流水线相同。验证新的流水线是否正常工作后,可以安全地删除原始流水线。

方案3

如果以上两种方案都无法修复现有的流水线,可能需要重新创建流水线。在重新创建流水线之前,确保备份所有必要的文件和配置,并确保正确设置新的服务连接。

以上是修复现有流水线的几种可能的方案。根据具体情况选择适合的方案,并确保在操作之前做好备份和验证。

正文完