Azure DevOps 构建和发布管道中的构件名称变量

68次阅读
没有评论

问题描述

想要在他的发布管道中访问构建工件的名称,要么通过一些预定义的变量,要么为他的构建和发布管道创建一个构件名称的变量。他不想硬编码构建工件的名称,并希望构建和发布管道之间解耦。
以下是用户的问题描述和示例代码:
问题截图:Azure DevOps 构建和发布管道中的构件名称变量
发布构建工件的 YAML 代码:

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: 'dist'
    ArtifactName: $(Storage.ArtifactName)
    publishLocation: 'Container'
  displayName: 'publish artifact'

输出:

##[section]Starting: publish artifact
...
Upload '/home/vsts/work/1/s/dist' to file container: '#/3928702/$(Storage.ArtifactName)'
...
Finishing: publish artifact

解决方案

请注意以下操作注意版本差异及修改前做好备份。
在 Azure DevOps 的构建和发布管道中,您可以使用变量来动态设置构建工件的名称。以下是解决方案的步骤:
1. 打开您的发布管道或构建管道。
2. 在您的管道中,您需要确保有一个变量组(Variable Group)包含您所需的变量。如果您已经有一个变量组,请跳过此步骤。如果没有,您可以在库中创建一个变量组,并在其中添加所需的变量,如您的构建工件名称。
3. 在您的管道 YAML 中,顶部添加以下代码,以使用变量组中的变量:

variables:
- group: your_variable_group_name

确保将 your_variable_group_name 替换为您实际的变量组名称。
4. 在您的发布构建工件任务中,将 ArtifactName 的值设置为您的变量。这将使用变量组中的构建工件名称。
5. 保存并触发您的管道,它将在运行时动态地使用变量组中的构建工件名称。
通过上述步骤,您可以在发布构建工件任务中使用变量组中的构建工件名称,从而实现构建和发布管道的解耦。

示例

以下是在发布管道中如何使用变量组中的构建工件名称的示例 YAML 代码:

variables:
- group: front_end-storage

trigger:
- ...

jobs:
- job: BuildAndPublish
  steps:
  - task: ...
  - task: PublishBuildArtifacts@1
    inputs:
      PathtoPublish: 'dist'
      ArtifactName: $(Storage.ArtifactName) # 使用变量组中的构建工件名称
      publishLocation: 'Container'
    displayName: 'publish artifact'
  - task: ...

在这个示例中,我们在顶部的 variables 部分使用了变量组 front_end-storage 中的变量。然后,在发布构建工件任务中,我们使用 $(Storage.ArtifactName) 来引用该变量,以设置构建工件的名称。
请确保您的变量组和变量名称正确,以及您的构建和发布管道的结构与示例代码相符。
注意,此方法可以使构建和发布管道的工件名称解耦,从而实现更灵活的配置。

注意事项

  • 确保变量组中的变量正确设置,以避免任何拼写错误或误用。
  • 如果您在使用多个不同的变量组,确保在适当的位置引用正确的变量组。
  • 当您修改变量组中的变量时,确保更新所有依赖于这些变量的管道。

通过上述解决方案,您可以在 Azure DevOps 的构建和发布管道中实现动态设置构建工件名称,从而实现构建和发布管道的解耦,提高灵活性和可维护性。

总结

在 Azure DevOps 的构建和发布管道中,您可以使用变量组和变量来动态设置构建工件的名称,从而实现构建和发布管道的解耦。通过正确配置变量组和引用变量,您可以在管道运行时自动使用变量中的值,提高了配置的灵活性和可维护性。

正文完