Как создать образы Docker с хэшем коммита - PullRequest
0 голосов
/ 05 июля 2019

Я управляю конвейером GitLab CICD, который создает образы Docker в два этапа, и теперь я хочу включить в каждое изображение Docker метку с хэшем коммитов git (см. схема-метки vcs-refэтикетка).

Я заметил, что GitLab уже предоставляет удобные переменные env с этой информацией (см. CI_COMMIT_SHA и CI_COMMIT_SHORT_SHA в Переменные среды GitLab CI / CD ), но я понятия не имею, каквключить информацию, представленную в этих переменных env, в образ Docker.Кто-нибудь знает, возможно ли включить в метку хэш коммита git?

Ответы [ 2 ]

1 голос
/ 17 июля 2019

Вам необходимо передать коммит как аргумент сборки .

Например, в файле Docker:

ARG CI_COMMIT_SHA
LABEL git-commit=$CI_COMMIT_SHA

А при сборке:

docker build --build-arg CI_COMMIT_SHA .

Если вы не предоставите переменную, например, --build-arg CI_COMMIT_SHA=abc123, тогда она будет использовать локальную переменную среды с тем же именем.

0 голосов
/ 05 июля 2019

В вашем 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...