我正在管理一个GitLab CICD管道,该管道分两个阶段构建Docker映像,现在我想在每个Docker映像中包含一个带有git的提交哈希值的标签(请参见label-schema's vcs-ref
标签) 。
我注意到,GitLab已经为该信息提供了方便的env变量(请参见GitLab CI/CD environment variables中的CI_COMMIT_SHA
和CI_COMMIT_SHORT_SHA
),但是我不知道如何包括Docker映像中的那些env变量。有谁知道是否可以在标签中包含git的提交哈希?
答案 0 :(得分:1)
您需要以build argument的身份传递提交。
例如,在Dockerfile中:
ARG CI_COMMIT_SHA
LABEL git-commit=$CI_COMMIT_SHA
构建时:
docker build --build-arg CI_COMMIT_SHA .
如果您不提供变量,例如--build-arg CI_COMMIT_SHA=abc123
,它将使用相同名称的本地环境变量。
答案 1 :(得分:0)
在您的Dockerfile中,使用LABEL
LABEL commit_sha=YOUR_CI_COMMIT_SHA
LABEL commit_short_sha=YOUR_CI_COMMIT_SHORT_SHA
使用docker inspect从图像中获取标签
docker inspect --format='{{.Config.Labels.commit_sha}}' image:tag