我成为某个应用程序的GitHub组织的成员,并致力于在Docker Hub上启用自动化构建。主要应用程序代码与dockerfile及其他相关文件位于单独的存储库中。
理想情况下,我希望在使用其他存储库中的dockerfile将提交推送到主应用程序存储库时构建镜像,从而使一切自动化,而无需将更改推送到dockerfile存储库即可构建新镜像。
我的问题是这是否可能。至少在没有建立真正复杂的工作流程的情况下,情况似乎并非如此。
最佳答案
您可能有一个钩子(Hook),可在更改主应用程序存储库时启动管道。管道将从主应用程序仓库中克隆代码以使用其内容。然后,它启动一个脚本(例如bash),将另一个存储库(使用git)克隆到temp文件夹,将所需的文件(如dockerfile)从另一个存储库(在temp文件夹中)复制到克隆的主应用程序存储库中,生成魔术并使用“镜像”做任何需要的事情(例如,将其推送到docker repo等)。
这是我们公司中相互依赖的存储库的过程。