【发布时间】:2019-07-12 11:25:29
【问题描述】:
我正在使用 CI/CD 系统从 git 存储库自动构建 Docker 映像。图像的 Image Tag 对应于相应 git commit 的短(即 8 个字符)哈希,例如myimage:123456ab.
存储库包含打包在 Docker 映像中的源代码以及使用.dockerignore 文件(类似于.gitignore)排除的文档和部署配置等内容。
虽然该过程通常有效,但它会导致重建和重新部署完全相同的 Docker 映像,因为仅对未成为映像一部分的文件进行了更改(例如存储库自述文件)。
仅使用 shell(在本例中为 bash)、git 和标准 *nix 工具,有没有办法获取更改文件的最新提交的短哈希,该文件不被忽略.dockerignore 文件?这也应该包括删除一个未被忽略的文件。
【问题讨论】: