作者:AA一缕阳光 | 来源:互联网 | 2023-02-07 13:38
我目前正在使用GitLab-CI来将我的项目的暂存分支刻录到Google Firebase。每个部署都会获得带有PipelineID和Build ID的特殊注释。
firebase deploy -m "Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive --token $FIREBASE_DEPLOY_KEY
为了易于使用,当在Firebase控制台中回滚提交时,我想将提交消息包括到部署注释中。
我搜索了文档,但没有找到一个变量。我弄错了,还是真的不可能?
谢谢你的帮助!
1> Jawad..:
Gitlab 10.8及更高版本:
该$CI_COMMIT_MESSAGE
环境变量包含提交信息。感谢Ladislav的更新!
原始答案(在gitlab 10.8之前):
如清单所示,通过预定义的Gitlab CI变量绝对不可能。但是您也许可以用其他方式做到这一点。
例如,您可以使用以下代码(在此处找到)检索提交消息
git rev-list --format=%B --max-count=1 HEAD
要么
git rev-list --format=%B --max-count=1 $CI_COMMIT_SHA
然后在您自己的命令中使用该命令的输出。
例如:
MESSAGE=$(git rev-list --format=%B --max-count=1 HEAD)
firebase deploy -m "Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID, message $MESSAGE" --non-interactive --token $FIREBASE_DEPLOY_KEY
现在它在Gitlab 10.8中作为$ CI_COMMIT_MESSAGE环境变量提供:https://docs.gitlab.com/ce/ci/variables/#predefined-variables-environment-variables