检索提交哈希

Retrieve the commit hash

我目前正在开发 运行 的部署脚本,作为我的 GitLab CI 设置的一部分。我想要的是将文件从一个位置复制到另一个位置并重命名。

现在我希望能够找到生成该文件的提交,所以我想将提交的哈希添加到它。

为了让它工作,我想使用这样的东西:

cp myLogFile.log /var/log/gitlab-runs/$COMMITHASH.log

输出应该是一个名为 eg.

的文件
/var/log/gitlab-runs/9b43adf.log

如何使用 GitLab CI 实现这一点?

您要查找的变量是 CI_COMMIT_SHA(以前在 GitLab 8.x 及更早版本中为 CI_BUILD_REF),这是预定义变量之一。

列出所有预定义变量 here

在您的示例中,您使用了短 git 散列,您可以通过构建这样的子字符串获得预定义变量 CI_COMMIT_SHA

${CI_COMMIT_SHA:0:8}

因为 GitLab v11.7 您可以使用 $CI_COMMIT_SHORT_SHA returns CI_COMMIT_SHA 的前八个字符。