使用 将包发布到 Github 包注册表时docker push
,该包似乎链接到主分支上的最新提交。但是,我目前正在不同的分支上或特定标签上构建我的包。有没有办法将发布的图像绑定到特定的 git 提交,以便链接到图像的源代码资产是正确的?
问问题
468 次
2 回答
1
帮助页面“ Configuring Docker for use with GitHub Package Registry ”提到:
将图像推送到 GitHub 包注册表:
$ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION
因此,只要您已经从任何您想要的 Git 提交构建并标记了您的图像,该docker push
步骤就独立于所述 Git 提交:它仅依赖于您构建的内容。
您可以将变量添加到您的docker build
以包含 Git 信息。请参阅Scott Lowe
的
“如何使用 Git 提交信息标记 Docker 映像”
docker build -t flask-local-build --build-arg GIT_COMMIT=$(git log -1 --format=%h) .
docker inspect flask-local-build | jq '.[].ContainerConfig.Labels'
于 2019-08-21T04:33:07.897 回答
0
每当您使用 docker build 命令创建映像时,它都会在目录中进行所有更改。如果您指向 master,那么它将从 master 构建它。
为了解决这个问题,你可能有单独的构建目录,或者你编写一个小脚本来做同样的事情。例如,您可以编写一个 shell 脚本,它将您的存储库克隆到临时文件夹并从特定分支中提取最新更改,然后创建并将构建推送到注册表。
于 2019-08-21T06:09:53.083 回答