【问题标题】:Azure pipelines - "Stages to run" does not workAzure 管道 - “运行阶段”不起作用
【发布时间】:2020-05-03 10:45:40
【问题描述】:

单击多阶段管道上的新功能“要运行的阶段”,我收到错误消息“无法加载管道的阶段”。 此功能是否仍处于某种预览状态?

Yaml 文件如下:

  • 管道文件
  • 构建模板
  • 部署模板未粘贴 b/c 它几乎与构建模板相同
    ================== 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....```

【问题讨论】:

    标签: azure-devops azure-pipelines multistage-pipeline


    【解决方案1】:

    无法加载管道阶段的错误可能表明您的 yaml 管道中存在一些错误(例如语法错误、缩进错误)。

    我在我的多阶段管道上进行了测试。它工作得很好。但是当我故意在我的管道中添加一个错误时,我得到了和你一样的错误。

    您可以尝试以正常方式运行您的流水线,而无需选择要跳过的阶段。如果管道中存在格式错误,管道将无法启动。

    如果您的管道可以在不使用此功能的情况下成功运行。请分享您的示例管道,以便我重现您的场景并进行故障排除。

    更新:

    我测试了你的 yaml,发现在 stages 之外定义的变量组导致了这个错误。如果您在每个阶段内移动变量组,该功能将再次起作用。

    您可以尝试在每个阶段定义变量组。要报告此问题,您可以点击here(点击报告问题并选择 Azure Devops)

    【讨论】:

    • 管道正常运行。我编辑了添加 yaml 代码的帖子
    • [更新] 即使管道运行,yml 文件中也应该有一些不正确的地方。我需要审查它们。 Tnx
    • 我找到了问题,它与 yaml 格式无关,但出现此错误:无法检索管道阶段:未找到变量组或未授权使用。有关授权的详细信息,请参阅aka.ms/yamlauthz。 这很奇怪,因为对所有变量组的访问权限都授予所有管道。有什么想法吗?
    • 我测试发现在stages之外定义的变量组导致了这个错误。如果您在每个阶段内移动变量组,该功能将再次起作用。
    【解决方案2】:

    已解决:我将组定义移动到舞台级别而不是 Azure 管道文件的顶部。

    例子:

    stages:
      - stage: build
        variables:
          - group: my-var-group
      - stage: deploy
        variables:
          - group: my-var-group
    

    【讨论】:

    猜你喜欢
    • 2021-03-25
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多