Docker 在单独的存储库中使用应用程序自动构建

标签 docker

我成为了一个应用程序的 GitHub 组织的成员,并致力于在 Docker Hub 上启用自动构建。主应用程序代码位于与 dockerfile 和其他相关文件不同的存储库中。
理想情况下,我希望在将提交推送到主应用程序存储库时构建镜像,使用来自另一个存储库的 dockerfile,以便一切都自动化,而无需将更改推送到 dockerfile 存储库以构建新镜像。
我的问题是这是否可能。至少在没有设置一个非常复杂的工作流程的情况下,它似乎不是。

最佳答案

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

关于Docker 在单独的存储库中使用应用程序自动构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62779083/

相关文章:

amazon-web-services - "docker-machine rm"在不存在的 EC2 实例上失败

docker : "no matching manifest for windows/amd64 in the manifest list entries"

docker - 找不到Traefik和Nginx 404页面

python - 错误 : Got unexpected extra argument (/start-reload. sh) 为 FastAPI docker 设置 Development live reload 时

python - 如何解决tf_serving_entrypoint.sh : line 3: 6 Illegal instruction (core dumped) when using tensorflow/serving image

docker - 卷 "mongo": hostPath type check failed:/mongo/data is not a directory 的 MountVolume.SetUp 失败

docker - 从一个Docker容器到另一个容器的连接拒绝错误仅针对REST请求

java - 启动Docker容器时获取java.lang.ClassNotFoundException

java - Teamcity 代理在构建后断开连接(无法访问代理)

docker - 在Docker镜像中运行Kibana会产生非根错误