Azure管道 - "要运行的阶段"无法工作

4
在多阶段管道上点击新功能“要运行的阶段”,我收到了错误消息“无法加载管道的阶段。”这个功能是否仍处于预览状态?

stages to run

error

以下是Yaml文件:

  • 流水线文件
  • 构建模板
  • 部署模板未粘贴,因为它几乎与构建相同
    ================== azure-pipelines.yml =============

    trigger: none

    variables:
      - group: var-group

      - name: PREFIX
        value: xyz

    stages:
      - stage: build_and_push
        displayName: Build/Push stage
        jobs:
        - template: build-template-job.yml
          parameters:
            countries:
              - name: Austria
                country_code: AT
              - name: Switzerland
                country_code": CH

      - stage: deploy
        displayName: Deploy stage
        jobs:
        - template: deploy-template-job.yml
          parameters:
            countries:
              - name: Austria
                country_code: AT
              - name: Switzerland
                country_code": CH

    ================== build-template-job.yml =============


    parameters:
      countries: []

    jobs:

    - job: Build_1
      pool:
        vmImage: 'Ubuntu-16.04'
      continueOnError: false
      displayName: "Building 1"

      steps:
        - task: HelmInstaller@0
          displayName: 'Install Helm'
          inputs:
            helmVersion: 2.14.3
            checkLatestHelmVersion: false

        - bash: helm package
            --version 1.0.0
            --destination $(build.artifactStagingDirectory)
            helm/
          displayName: 'Packaging the heml chart....'


    - ${{ each country in parameters.countries}}:

        # more steps....```
2个回答

3
无法加载管道阶段的错误可能表明您的yaml管道存在某些错误(例如语法错误,缩进错误)。
我在我的多个阶段管道上进行了测试。它运行良好。但是,当我故意在管道中放置一个错误时,我得到了与您相同的错误。

enter image description here

您可以尝试以正常方式运行管道,而无需选择要跳过的阶段。如果管道存在格式错误,则管道将无法启动。
如果您的管道可以成功运行而不使用此功能,请分享您的示例管道,以便我可以重现您的情况并进行故障排除。
更新:
我测试了您的yaml并发现在stages之外定义的变量组引起了此错误。如果您将变量组移动到每个阶段内部,则该功能将再次起作用。
您可以尝试在每个阶段中定义变量组。要报告此问题,您可以单击此处(单击报告问题并选择Azure Devops)。

管道正常运行。我编辑了帖子并添加了yaml代码。 - Salvo
【更新】尽管流水线运行了,但yml文件中应该有一些不正确的地方。我需要重新审查它们。谢谢。 - Salvo
我已经找到问题所在,它与yaml格式无关,而是这个错误:无法检索管道阶段:未找到变量组或未被授权使用。有关授权详细信息,请参阅https://aka.ms/yamlauthz. 这很奇怪,因为所有变量组的访问权限都已授予所有管道。有什么想法吗? - Salvo
我进行了测试,发现在stages之外定义的变量组导致了这个错误。如果你将变量组移动到每个阶段内部,该功能将再次正常工作。 - Levi Lu-MSFT

0
已解决:我将组定义移动到舞台级别,而不是在 Azure 管道文件的顶部。
示例:
stages:
  - stage: build
    variables:
      - group: my-var-group
  - stage: deploy
    variables:
      - group: my-var-group

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接