如何在 VSTS/TFS 构建中检索 Git 提交 ID 和消息?

How to retrieve Git commit id and message in VSTS/TFS build?

我在使用 VSTS 的 CI 环境中,我想获取提交注释以将其设置到文本文件中。

这是我的构建步骤:

想法是将 GIT 提交注释复制到存储在工件文件夹中的文本文件中。然后使用 HockeyApp SDK,我将在发布说明中设置我的提交评论。

我可以通过命令行操作轻松复制文件,但我不知道如何检索评论。

您可以在构建定义中创建一个 power-shell 脚本任务来获取提交注释并通过 Rest API.

将其写入文本文件

环境变量 $(Build.SOURCEVERSIONMESSAGE) 在构建期间设置。您可以直接在任务输入中使用 $(build.SOURCEVERSIONMESSAGE) 访问它。

如果您想在 powershell 脚本或内联 powershell 脚本中访问它。您可以通过环境变量访问它,即 Get-Item Env:\BUILD_SOURCEVERSIONMESSAGE

以下脚本将在二进制文件文件夹中创建一个新文件 commit.txt,其中包含提交消息。 运行 使用带内联类型的 Powershell 任务的脚本。

$message = (Get-Item Env:\BUILD_SOURCEVERSIONMESSAGE)

$path =  (Get-Item Env:\BUILD_BINARIESDIRECTORY).Value + '\commit.txt'

echo $message > $path

以下命令将显示最新的提交 ID 和提交消息:

git log --pretty=oneline | head -1