首页 > 解决方案 > Docker 在单独的存储库中使用应用程序自动构建

问题描述

我成为了一个应用程序的 GitHub 组织的成员,并致力于在 Docker Hub 上启用自动构建。主应用程序代码位于与 dockerfile 和其他相关文件不同的存储库中。

理想情况下,我希望在将提交推送到主应用程序存储库时构建映像,使用来自另一个存储库的 dockerfile,以便一切都自动化,而无需将更改推送到 dockerfile 存储库以构建新映像。

我的问题是这是否可能。至少在没有设置一个非常复杂的工作流程的情况下,它似乎不是。

标签: docker

解决方案


您可以使用挂钩来启动对主应用程序存储库的更改的管道。该管道将​​从主应用程序存储库中克隆代码以使用其内容。然后它启动一个脚本(例如 bash),将另一个 repo(使用 git)克隆到临时文件夹,将所需文件(如 dockerfile)从另一个 repo(在 temp 文件夹中)复制到克隆的主应用程序存储库中,确实构建魔法并使用“图像”做任何需要的事情(例如将其推送到 docker repo 等)。
这是我们公司对相互依赖的存储库的流程。


推荐阅读