我有一个TeamCity构建项目,它将十几个Docker容器的构建版本参数化到docker-compose.yml模板中,因此为了从每个容器获取build_counter,我将它们设置为docker-compose构建作业中的快照依赖项。每个容器的Dockerfile和其他文件都在它们自己的BitBucket存储库中,并且它们具有适当文件的触发器。在docker-compose构建的快照依赖项中,我将它们设置为“如果存在合适的构建,则不运行新构建”,但它仍然尝试运行所有相关构建,即使它们各自的存储库中没有任何更改。
这使得本应该是非常简单和快速的构建变成了非常漫长的构建。而且经常会出现其中一个依赖构建失败并显示“无法收集更改:连接被拒绝”的情况,我怀疑这与TC试图同时访问所有这些不同的存储库有关。
有什么方法可以不触发每次运行docker-compose构建时的所有依赖项的构建吗?
编辑:
这里是我们的docker-compose.yml.j2的示例:http://termbin.com/b2xy 显然,我对其进行了消毒以供共享,我们真正的docker-compose模板列出了大约十几个服务。
这是一个服务的示例Dockerfile:http://termbin.com/upins
这使得本应该是非常简单和快速的构建变成了非常漫长的构建。而且经常会出现其中一个依赖构建失败并显示“无法收集更改:连接被拒绝”的情况,我怀疑这与TC试图同时访问所有这些不同的存储库有关。
有什么方法可以不触发每次运行docker-compose构建时的所有依赖项的构建吗?
编辑:
这里是我们的docker-compose.yml.j2的示例:http://termbin.com/b2xy 显然,我对其进行了消毒以供共享,我们真正的docker-compose模板列出了大约十几个服务。
这是一个服务的示例Dockerfile:http://termbin.com/upins