Связывание образа Docker для исправления фиксации Github в реестре пакетов Github

При публикации пакета в реестре пакетов Github с помощью docker pushПохоже, что пакет связан с самым последним коммитом в основной ветке. Однако в настоящее время я собираю свои пакеты в другой ветке или из определенного тега. Есть ли способ связать опубликованное изображение с конкретным git коммитом, чтобы исходные коды, связанные с изображением, были правильными?

2 ответа

На странице справки " Настройка Docker для использования с GitHub Package Registry " упоминается:

Вставьте изображение в реестр пакетов GitHub:

$ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION

Так что, если вы уже создали и пометили свой образ из любого коммита Git, который вы хотите, docker push Шаг не зависит от указанного Git commit: он полагался исключительно на то, что вы построили.

Вы можете добавить переменные к вашему docker build включить информацию Git.
Смотрите " Как пометить изображения Docker информацией Git Commit " от Скотта Лоу

docker build -t flask-local-build --build-arg GIT_COMMIT=$(git log -1 --format=%h) .
docker inspect flask-local-build | jq '.[].ContainerConfig.Labels'

Всякий раз, когда вы создаете образ с помощью команды сборки docker, он принимает все изменения в каталоге. Если вы укажете мастер, он будет построен из мастера.

Чтобы решить эту проблему, у вас может быть отдельный каталог для сборки или вы пишете небольшой скрипт, который будет делать то же самое. Например, вы можете написать сценарий оболочки, который клонирует ваш репозиторий во временную папку и извлекает последние изменения из определенной ветки, создает и передает сборку в реестр.

Другие вопросы по тегам