git提交哈希在dockerfile中作为标签

w51jfk4q  于 2022-12-18  发布在  Docker
关注(0)|答案(2)|浏览(114)

如何在Dockerfile中添加git提交哈希或任何其他动态推断值。

LABEL vcs-ref=$(git rev-parse --short HEAD)

像这样?

1tuwyuhd

1tuwyuhd1#

我终于找到了,
使用docker build --build-arg vcs-ref=$(git rev-parse --short HEAD)
同时建造。
但必须初始化Dockerfile中vcs-ref的变量

ARG vcs-ref=0
ENV vcs-ref=$vcs-ref
lb3vh1jj

lb3vh1jj2#

对于像我这样必须在Windows CMD中实现这一点的可怜虫来说,特别是对于那些通过NPM这样做的人来说,这里有一个可行的方法:

git rev-parse --short HEAD > tmpCommitFile && set /p GIT_COMMIT= < tmpCommitFile && del tmpCommitFile && docker build --build-arg vcs-ref=%GIT_COMMIT%

这结合了git rev-parse HEADthis answer的使用,以了解如何将CMD中的命令输出读取到变量中,最后如何将其作为arg传递,如这里的另一个答案所示。CMD使这比预期的更具挑战性。
如果在Docker之前有一个抽象层,则可以将%GIT_COMMIT%作为参数提供给构建脚本的任何部分。

相关问题