管理变量组

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

本文介绍如何在 Azure Pipelines 中创建和使用变量组。 变量组存储您可以传递到 YAML 管道或在项目中的多个管道中提供的值和机密。

变量组中的机密变量是受保护的资源。 可以添加审批、检查和管道权限的组合,以限制对变量组中机密变量的访问。 对非机密变量的访问不受审批、检查和管道权限的限制。

变量组遵循库安全模型的角色和权限。

先决条件

  • 有权创建管道和变量的 Azure DevOps Services 组织和项目。
  • Azure DevOps 组织或 Azure DevOps Server 集合中的项目。 如果没有项目,请创建一个项目
  • 如果使用 Azure DevOps CLI,则需要使用 Azure DevOps CLI 扩展的 Azure CLI 2.30.0 或更高版本。 有关详细信息,请参阅 Azure DevOps CLI 入门

设置 CLI

如果使用 Azure DevOps CLI,则需要设置 CLI 以与 Azure DevOps 组织和项目配合使用。

  1. 使用 az login 命令登录到 Azure DevOps 组织。

    Azure CLI
    az login
    
  2. 如果出现提示,请从终端窗口中显示的列表中选择订阅。

  3. 使用以下命令确保运行最新版本的 Azure CLI 和 Azure DevOps 扩展。

    Azure CLI
    az upgrade
    az extension add --name azure-devops --upgrade
    
  4. 在 Azure DevOps CLI 命令中,可以使用以下命令设置默认组织和项目:

    Azure CLI
    az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
    

    如果尚未设置默认组织和项目,可以使用 detect=true 命令中的参数根据当前目录自动检测组织和项目上下文。 如果未配置或检测到默认值,则需要在命令中显式指定 orgproject 参数。

创建变量组

可以为项目中的管道运行创建变量组。

备注

若要创建机密变量组以将 Azure 密钥保管库中的机密链接为变量,请按照 Azure 密钥库将变量组链接到机密的说明进行操作。

  1. 在 Azure DevOps 项目中,从左侧菜单中选择管道>

  2. 在“库”页上,选择“+ 变量组”。

    “库”屏幕和“添加变量组”按钮的屏幕截图。

  3. 在新变量组页面的“属性”下,输入变量组的名称和可选描述。

  4. 在“变量”下,选择“+ 添加”,然后输入要包含在组中的变量名称和值。 如果想要加密并安全地存储该值,请选择变量旁边的锁定图标。

  5. 选择“+ 添加”以添加每个新变量。 添加完变量后,选择“保存”。

    配置和保存变量组的屏幕截图。

现在就可以在项目管道中使用此变量组。

更新变量组

可以使用 Azure Pipelines 用户界面更新变量组。

  1. 在 Azure DevOps 项目中,从左侧菜单中选择管道>
  2. 在“库”页面上,选择要更新的变量组。 也可以将鼠标悬停在变量组列表上,选择“更多选项”图标,然后从菜单中选择“编辑”。
  3. 在变量组页面中,更改任何属性,然后选择“保存”。

删除变量组

可以在 Azure Pipelines 用户界面中删除变量组。

  1. 在 Azure DevOps 项目中,从左侧菜单中选择管道>
  2. 在“库”页面上,将鼠标悬停在要删除的变量组上,然后选择“更多选项”图标。
  3. 从菜单中选择“删除”,然后在确认屏幕上选择“删除”。

管理变量组中的变量

可以使用 Azure Pipelines 用户界面更改、添加或删除变量组中的变量。

  1. 在 Azure DevOps 项目中,从左侧菜单中选择管道>
  2. 在“库”页面上,选择要更新的变量组。 也可以将鼠标悬停在变量组列表上,选择“更多选项”图标,然后从菜单中选择“编辑”。
  3. 在变量组页面上可以:
    • 更改任何变量名或变量值。
    • 选择变量名旁边的垃圾桶图标,删除任何变量。
    • 选择变量值旁边的锁定图标,将变量更改为机密或非机密变量。
    • 通过选择“+ 添加”以添加新的变量。
  4. 进行更改后,请选择“保存”

在管道中使用变量组

可以在 YAML 或经典管道中使用变量组。 对变量组所做的更改会自动提供给该变量组所链接的所有定义或阶段。

在经典管道中使用变量组

经典管道可以使用变量组,无需单独授权。 要使用变量组:

  1. 打开经典管道。

  2. 选择变量>变量组,然后选择“链接变量组”。

    • 在生成管道中,可以看到可用组的列表。 选择变量组,然后选择“ 链接”。 组中的所有变量都可在管道中使用。

    • 在发布管道中,还会看到管道中阶段的下拉列表。 将变量组链接到管道本身,或者链接到发布管道的一个或多个特定阶段。 如果链接到一个或多个阶段,则变量组中的变量仅限于这些阶段,并且在发布的其他阶段无法访问。

    显示链接变量组的屏幕截图。

当在多个作用域中设置同名变量时,将使用以下优先级(最高优先级排在首位):

  1. 在排队时设置的变量
  2. 管道中设置的变量
  3. 变量组中设置的变量

有关变量优先级的详细信息,请参阅变量的扩展

备注

链接到同一作用域(例如作业或阶段)中的管道的不同组中的变量将出现冲突,结果可能不可预知。 确保对所有变量组的变量使用不同的名称。