Gitlab 如何获取CI/CD中合并提交的最新源提交SHA

Gitlab 如何获取CI/CD中合并提交的最新源提交SHA,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,合并后,gitlab中有一个新的提交和新的SHA 在CI/CD变量中有一个CI\u合并\u请求\u源\u分支\u名称变量。还有一些方法可以知道命令行中的其他提交数据,如git rev parse--verify HEAD等 那么,如何获得特殊合并提交的源提交SHA 为了清楚地理解这个问题,我将试着描述这个案例 分支机构:硕士、博士 提交:dev_1、dev_2、dev_3、合并到_master_devu 123、dev_4、dev_5、dev_6、合并到_master_devu 456 当我运

合并后,gitlab中有一个新的提交和新的SHA

在CI/CD变量中有一个
CI\u合并\u请求\u源\u分支\u名称
变量。还有一些方法可以知道命令行中的其他提交数据,如
git rev parse--verify HEAD

那么,如何获得特殊合并提交的源提交SHA

为了清楚地理解这个问题,我将试着描述这个案例

分支机构:硕士、博士

提交:dev_1、dev_2、dev_3、合并到_master_devu 123、dev_4、dev_5、dev_6、合并到_master_devu 456

当我运行(或重新运行)merge_to_master_dev_123的管道时,我需要获取dev_3 commit SHA

当我运行(或重新运行)merge_to_master_dev_456的管道时,我需要获取dev_6 commit SHA

我将在GitLab-ci.yml脚本(特别是shell脚本)中的GitLab Runner中使用它

获取源分支的最新请求不是我想要的,因为我可以在merge_to_master_dev_456、merge_to_master_dev_之后重新运行merge_to_master_dev_123管道。。。管道


那么怎么做呢?

当合并到master时,您可以将SHA保存在提交消息中,然后从
CI\u commit\u message
变量中检索SHA

或者更好的是,您可以在合并时在dev上标记提交,然后使用该标记引用提交。。 在开发分支上使用beta预发布标签(例如1.0.0-beta)标记提交,然后在不使用预发布标签1.0.0的情况下标记合并提交,怎么样?
当您重新运行合并提交时,您可以使用
CI\u commit\u标记
变量获得1.0.0,添加-beta pre-release标记,并且您有一个git引用来引用合并后的提交。

我不太确定您想要做什么,比如这是一个实际的合并提交吗?master是合并到dev还是其他方式?无论哪种方式,这都将帮助您: