Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get commit date and time on GitLab CI

Tags:

gitlab-ci

Actually I have a need to get a timestamp of my commit in GitLab CI. Alredy have tested the official documentation of GitLab CI Variables here: https://docs.gitlab.com/ee/ci/variables

But there are only commit variables for

  • CI_COMMIT_SHA The commit revision for which project is built
  • CI_COMMIT_TAG The commit tag name. Present only when building tags.

Is there a way to achieve this? Need to add these values to variables. My prefered way would be to add it to the variables section.

job:
  variables:
    COMMIT_TIME: $(git_timestamp)
  script: echo $COMMIT_TIME

I'm open to any helpful suggestions.

like image 600
Jan Franta Avatar asked Mar 08 '18 13:03

Jan Franta


2 Answers

Yes you can get the commit time, like this:

job:
  script: 
    - export COMMIT_TIME=$(git show -s --format=%ct $CI_COMMIT_SHA)
    - echo $COMMIT_TIME

If you want to have your COMMIT_TIME variable in every job use the before_script option:

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

job:
  script: 
    - echo $COMMIT_TIME

The %ct format gives you unixtimestamp if you want something else, have a look at the PRETTY_FORMATS in this reference on git show.

like image 109
Stefan van Gastel Avatar answered Nov 14 '22 23:11

Stefan van Gastel


From GitLab 13.4 you can use a new predefined variable for this: CI_COMMIT_TIMESTAMP

Example of value: 2022-01-06T01:27:22+01:00

like image 42
SVL Avatar answered Nov 15 '22 00:11

SVL