执行部署时,我希望执行一些优化,具体取决于自上一版本以来某些文件路径是否已更改。
有没有办法找出目标环境中先前的提交哈希是什么?我猜它需要去#34;之前的版本" - > "构建神器" - > "承诺",但我坚持第一步。
为了澄清,我希望能够列出" Deploy"中显示的提交。模态:
答案 0 :(得分:1)
然后,您需要获取先前版本/构建的最后一次提交sha-1值,然后获取最后一次提交。 实现的步骤如下:
获取最新版本
使用REST API:
GET https://{account}.vsrm.visualstudio.com/{project}/_apis/release/releases?$top=2&definitionId={id}api-version=4.1-preview.6
您将获得某个版本定义的最后两个版本。对于这两个版本,一个是您正在部署的当前版本,另一个是最后一个版本。
从上一个版本获取最后一个buildId
在第一步中,您可以从参数logsContainerUrl
获取最后一个发布日志。您可以下载最后一个发布日志以压缩和解压缩日志。然后,您可以从下载工件步骤日志中获取buildId
。
从buildId
获取最后一次提交sha-1使用REST API获取最后一次构建,您可以从响应中获取源版本(上次提交)。
然后git命令可以更容易地获得最后一次提交sha-1值。
您可以在下面的脚本中使用PowerShell任务:
git clone <URL for git repo> repofolder
cd repofolder
git checkout $(Build.SourceBranchName)
$lastcommit=$(git rev-parse HEAD~)
echo "last commit sha-1 value is $lastcommit"
注意: