【发布时间】:2019-02-23 10:07:57
【问题描述】:
合并后在 gitlab 中有一个新的 SHA 提交。
在 CI/CD 变量中有一个 CI_MERGE_REQUEST_SOURCE_BRANCH_NAME 变量。还有一些方法可以在命令行中了解其他一些提交数据,例如git rev-parse --verify HEAD 等。
那么,如何获取特殊合并提交的源提交 SHA?
为了清楚地理解这个问题,我将尝试描述这个案例。
分支:master、dev
提交:dev_1、dev_2、dev_3、merge_to_master_dev_123、dev_4、dev_5、dev_6、merge_to_master_dev_456
当我运行(或重新运行)merge_to_master_dev_123 的管道时,我需要获取 dev_3 提交 SHA。
当我为 merge_to_master_dev_456 运行(或重新运行)管道时,我需要获取 dev_6 提交 SHA。
我将在 GitLab Runner 的 gitlab-ci.yml 脚本(尤其是 shell 脚本)中使用它。
获取源分支的最新请求不是我想要的,因为我可以在 merge_to_master_dev_456、merge_to_master_dev_... 管道之后重新运行 merge_to_master_dev_123 管道。
那该怎么做呢?
【问题讨论】:
-
我不太确定你想做什么,比如它是一个实际的合并提交吗?是master合并到dev还是相反?无论哪种方式,这都会对您有所帮助:stackoverflow.com/a/12527561/2115135
标签: gitlab gitlab-ci gitlab-ci-runner