用于提交注释的Gitlab-CI环境变量

Nic*_*mid 0 gitlab gitlab-ci

我目前正在使用GitLab-CI来将我的项目的暂存分支刻录到Google Firebase。每个部署都会获得带有PipelineID和Build ID的特殊注释。

firebase deploy -m "Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive --token $FIREBASE_DEPLOY_KEY
Run Code Online (Sandbox Code Playgroud)

为了易于使用,当在Firebase控制台中回滚提交时,我想将提交消息包括到部署注释中。

我搜索了文档,但没有找到一个变量。我弄错了,还是真的不可能?

谢谢你的帮助!

Jaw*_*wad 5

Gitlab 10.8及更高版本:

$CI_COMMIT_MESSAGE环境变量包含提交信息。感谢Ladislav的更新!

原始答案(在gitlab 10.8之前):

清单所示,通过预定义的Gitlab CI变量绝对不可能。但是您也许可以用其他方式做到这一点。

例如,您可以使用以下代码(在此处找到)检索提交消息

git rev-list --format=%B --max-count=1 HEAD
Run Code Online (Sandbox Code Playgroud)

要么

git rev-list --format=%B --max-count=1 $CI_COMMIT_SHA
Run Code Online (Sandbox Code Playgroud)

然后在您自己的命令中使用该命令的输出。

例如:

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
Run Code Online (Sandbox Code Playgroud)

  • 现在它在Gitlab 10.8中作为$ CI_COMMIT_MESSAGE环境变量提供:https://docs.gitlab.com/ce/ci/variables/#predefined-variables-environment-variables (2认同)