Gitlab CI - 唯一的内部版本号

Pra*_*166 10 gitlab gitlab-ci jenkins-pipeline

Gitlab CI 中是否有任何唯一编号可以用作我们在 Jenkins 中使用的内部版本号。我开始了解变量“CI_PIPELINE_IID”,但这个变量的问题是,它会更新所有分支,并且每个分支都不存在这样的变量。

Sam*_*Sam 6

它看起来像是CI_COMMIT_SHA或者CI_COMMIT_SHORT_SHA是很好的候选者,因为它们为您提供了构建它的提交的参考。

例如,如果要将其用作 docker 镜像标签,请使用

docker build . -t myapp:$CI_COMMIT_SHA
Run Code Online (Sandbox Code Playgroud)

请注意,早期版本的 Gitlab(版本 8.x)使用 CI_BUILD_TAG

更多变量:https : //docs.gitlab.com/ee/ci/variables/predefined_variables.html#variables-reference


Pie*_*llo 5

我们使用变量解决了同样的问题,该变量$CI_PIPELINE_IID定义为

当前管道的项目级 IID(内部 ID)。此 ID 仅在当前项目中是唯一的。

和詹金斯的很相似 $BUILD_NUMBER

另见https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#variables-reference


Von*_*onC 0

您可以检查其他 id“ CI 变量”是否适用于您的情况:

  • CI_JOB_ID 9.0 all GitLab CI内部使用的当前作业的唯一id
  • CI_PIPELINE_ID 8.10 all GitLab CI内部使用的当前管道的唯一id(一I)
  • CI_PROJECT_ID all all GitLab CI 内部使用的当前项目的唯一 id
  • CI_RUNNER_ID 8.10 0.5 正在使用的跑步者的唯一ID