如何从 Azure DevOps 发布管道访问构建工件的 Git 源
How to access Git source of a build artifact from an Azure DevOps release pipeline
我想在已经过构建管道测试的代码库上制作一个发布管道(制作一个发布包)。
我如何制作一个版本来访问已成功完成特定构建管道的 Git 代码库?
备注:
- 制作发布包非常耗时,所以如果可能我不想将其包含到构建中。在我的例子中制作发布包需要源文件(几乎所有)。
- 我可以通过将整个 Git 存储库复制到构建的构建工件然后使用构建工件来解决这个问题,但我不喜欢这样,因为它需要将整个代码库放入工件.
- 我还试图为该版本指定两个工件:一个构建和一个 git,但我不知道如何同步这两个(git 应该使用提交由构建使用)。对于 Git 我可以 select “一个特定的提交”,但我不知道如何在那里指定构建工件的提交。
如果您为发布指定两个工件:一个构建和一个 git。您可以使用 predefined release variable Release.Artifacts.{alias}.SourceVersion
同步构建使用的提交和 git 工件的提交。
此变量 Release.Artifacts.{alias}.SourceVersion
returns 构建工件的提交哈希。因此,您可以在发布管道中添加一个脚本任务来检查特定的提交。请参阅以下 powershell 任务中的示例脚本:
cd _theGitArtifactsAliasName
git checkout $(Release.Artifacts._TheBuildArtifactsAliasName.SourceVersion)
然后 git 的工件将在构建工件的提交上。
我想在已经过构建管道测试的代码库上制作一个发布管道(制作一个发布包)。
我如何制作一个版本来访问已成功完成特定构建管道的 Git 代码库?
备注:
- 制作发布包非常耗时,所以如果可能我不想将其包含到构建中。在我的例子中制作发布包需要源文件(几乎所有)。
- 我可以通过将整个 Git 存储库复制到构建的构建工件然后使用构建工件来解决这个问题,但我不喜欢这样,因为它需要将整个代码库放入工件.
- 我还试图为该版本指定两个工件:一个构建和一个 git,但我不知道如何同步这两个(git 应该使用提交由构建使用)。对于 Git 我可以 select “一个特定的提交”,但我不知道如何在那里指定构建工件的提交。
如果您为发布指定两个工件:一个构建和一个 git。您可以使用 predefined release variable Release.Artifacts.{alias}.SourceVersion
同步构建使用的提交和 git 工件的提交。
此变量 Release.Artifacts.{alias}.SourceVersion
returns 构建工件的提交哈希。因此,您可以在发布管道中添加一个脚本任务来检查特定的提交。请参阅以下 powershell 任务中的示例脚本:
cd _theGitArtifactsAliasName
git checkout $(Release.Artifacts._TheBuildArtifactsAliasName.SourceVersion)
然后 git 的工件将在构建工件的提交上。