如何从Azure DevOps发布管道访问构建工件的Git源

时间:2020-08-27 06:07:28

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

我想创建一个发布管道,该管道可以在经过构建管道测试的代码库上正常工作(制作发布软件包)。

我如何发布一个可以访问Git代码库的版本,而该版本已成功完成了特定的构建管道?

注意:

  • 制作发行包非常耗时,因此,如果可能的话,我不想将其包含在构建中。就我而言,制作发行包需要源文件(几乎全部)。
  • 我可以通过将整个Git存储库复制到构建的构建工件中,然后使用构建工件来解决此问题,但是我不喜欢这样,因为它需要将整个代码库都放入工件中。
  • 我还试图为该发行版指定两个构件:一个构建和一个git,但是我不知道如何同步这两个构件(git应该使用该构建使用的提交)。对于Git,我可以选择“特定提交”,但是我不知道如何在此处指定构建工件的提交。

1 个答案:

答案 0 :(得分:1)

如果您为发行版指定了两个构件:一个构件和一个git构件。您可以使用predefined release variable Release.Artifacts.{alias}.SourceVersion来同步构建所使用的提交和git工件的提交。

此变量Release.Artifacts.{alias}.SourceVersion返回用于构建构建工件的提交哈希。因此,您可以在发布管道中添加脚本任务,以检出特定的提交。请参阅以下powershell任务中的示例脚本:

cd  _theGitArtifactsAliasName
git checkout $(Release.Artifacts._TheBuildArtifactsAliasName.SourceVersion)

然后git的工件将在构建工件的提交上出现。

enter image description here