如何在GitLab CI上获取提交日期和时间

Jan*_*nta 2 gitlab-ci

实际上我需要在GitLab CI中获取我的提交时间戳.Alredy在这里测试了GitLab CI变量的官方文档:https://docs.gitlab.com/ee/ci/variables

但是只有提交变量

  • CI_COMMIT_SHA构建项目的提交修订
  • CI_COMMIT_TAG提交标记名称.仅在构建标签时出现.

有没有办法实现这个目标?需要将这些值添加到变量中.我最喜欢的方法是将它添加到变量部分.

job:
  variables:
    COMMIT_TIME: $(git_timestamp)
  script: echo $COMMIT_TIME
Run Code Online (Sandbox Code Playgroud)

我愿意接受任何有用的建议.

Ste*_*tel 17

是的,您可以获得提交时间,如下所示:

job:
  script: 
    - export COMMIT_TIME=$(git show -s --format=%ct $CI_COMMIT_SHA)
    - echo $COMMIT_TIME
Run Code Online (Sandbox Code Playgroud)

如果您想COMMIT_TIME在每个作业中使用变量,请使用以下before_script选项:

before_script:
  - export COMMIT_TIME=$(git show -s --format=%ct $CI_COMMIT_SHA)   

job:
  script: 
    - echo $COMMIT_TIME
Run Code Online (Sandbox Code Playgroud)

%ct格式为您提供unixtimestamp如果你想要别的东西,在看看PRETTY_FORMATS 这个参考git show.


小智 8

从 GitLab 13.4 开始,您可以为此使用一个新的预定义变量CI_COMMIT_TIMESTAMP

  • 以下是此变量值的示例(以便任何寻找日期格式的人都不需要运行管道来获取它):`2022-01-06T01:27:22+01:00` (5认同)