无法授权Azure Pipelines中的变量组

时间:2019-10-10 00:26:03

标签: azure azure-devops azure-pipelines

我正在Azure DevOps中构建多阶段Azure管道以构建和发布我的产品。

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

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

Azure DevOps documentation说,这是可以预期的:

  

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

     

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

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

3 个答案:

答案 0 :(得分:4)

仅在“工作”级别导入变量组时,才可以访问它们。

解决方案:

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

说明/分析:

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

首先,我通过将变量组添加到阶段(实际上与职位处于同一级别),使用以下yaml脚本进行了测试:

stages:
- stage: build
  variables:
    - group: 789
  jobs:
  - job: run_build
    pool:
      vmImage: 'Ubuntu 16.04'
    steps:
    - script: echo Build

使用此配置,我无法使用变量组。我和你有同样的问题:

enter image description here

然后我将变量组移到yaml文件的 job 部分:

stages:
- stage: build
  jobs:
  - job: run_build
    pool:
      vmImage: 'Ubuntu 16.04'
    steps:
    - script: echo Build
    variables:
    - group: 789

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

enter image description here

答案 1 :(得分:3)

@hey提出的提供的解决方案对我不起作用,因为我必须使用部署作业。我发现了一种解决该错误的方法:

  1. 转到您的管道
  2. 编辑
  3. 单击树点>触发器
  4. 导航至变量标签
  5. 变量组
  6. 添加变量组

答案 2 :(得分:0)

我也遇到这个问题,但这是因为当我在“管道”>“库”下创建变量组时,Azure Portal中的名称与yml文件中的名称不匹配。