检索提交哈希
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
的前八个字符。
我目前正在开发 运行 的部署脚本,作为我的 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
的前八个字符。