我成为了一个应用程序的 GitHub 组织的成员,并致力于在 Docker Hub 上启用自动构建。主应用程序代码位于与 dockerfile 和其他相关文件不同的存储库中。
理想情况下,我希望在将提交推送到主应用程序存储库时构建镜像,使用来自另一个存储库的 dockerfile,以便一切都自动化,而无需将更改推送到 dockerfile 存储库以构建新镜像。
我的问题是这是否可能。至少在没有设置一个非常复杂的工作流程的情况下,它似乎不是。
最佳答案
您可以使用 Hook 来启动对主应用程序存储库的更改的管道。该管道将从主应用程序存储库中克隆代码以使用其内容。然后它启动一个脚本(例如 bash),将另一个 repo(使用 git)克隆到临时文件夹,将所需文件(如 dockerfile)从另一个 repo(在 temp 文件夹中)复制到克隆的主应用程序存储库中,确实构建魔术并使用“图像”做任何需要的事情(例如,将其推送到 docker repo 等)。
这是我们公司对相互依赖的存储库的流程。
关于Docker 在单独的存储库中使用应用程序自动构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62779083/