无法在 Azure Pipelines 中授权变量组

Pet*_*ter 6 azure azure-devops azure-pipelines

我正在 Azure DevOps 中构建多阶段 Azure Pipeline 来构建和发布我的产品。

我想在这个管道中使用变量组,以便我可以为不同的部署环境替换不同的配置值。

我无法授权管道使用我的变量组。当我手动运行构建时,我在摘要页面上看到一条消息,告诉我变量组未被授权: 错误信息

Azure的DevOps的文件说,这是可以预料的:

当您对 YAML 文件进行更改并添加其他资源时(假设这些资源未经授权可在上述所有管道中使用),则构建将失败并显示类似于以下内容的资源授权错误:Could not find a {RESOURCE } 姓名为{NAME}。{RESOURCE} 不存在或未被授权使用。

在这种情况下,在“摘要”页面上,您将看到一个选项来授权失败构建上的资源。如果您是资源的用户角色的成员,则可以选择此选项。一旦资源获得授权,您就可以开始新的构建。

我是变量组的用户角色的成员,我看到了消息,但我没有授权选项。还有什么我需要做的吗?或者还有另一种方法可以授权特定管道使用变量组吗?

小智 16

@hey 提出的解决方案对我不起作用,因为我必须使用部署作业。我找到了解决此错误的一种巧妙方法:

  1. 前往您的管道
  2. 编辑
  3. 单击树点 > 触发器
  4. 导航到变量选项卡
  5. 变量组
  6. 添加变量组


Hug*_*Lin 7

变量组只有在“作业”级别导入时才能访问。

解决方案:

我已经测试并尝试重现您的问题。为了解决它,您需要在“作业”下添加变量组。

解释/分析:

这是重现和解决问题的方法:

首先,我使用以下yaml脚本进行了测试,方法是将变量组添加到阶段(字面上与jobs处于同一级别):

stages:
- stage: build
  variables:
    - group: 789
  jobs:
  - job: run_build
    pool:
      vmImage: 'Ubuntu 16.04'
    steps:
    - script: echo Build
Run Code Online (Sandbox Code Playgroud)

使用此配置,我无法使用变量组。我遇到了和你一样的问题:

在此处输入图片说明

然后我将变量组移动到文件的作业部分yaml

stages:
- stage: build
  jobs:
  - job: run_build
    pool:
      vmImage: 'Ubuntu 16.04'
    steps:
    - script: echo Build
    variables:
    - group: 789
Run Code Online (Sandbox Code Playgroud)

使用修改后的配置,我能够在错误消息中看到并使用授权资源选项:

在此处输入图片说明