我有一堆Docker容器,都是使用docker-compose连接在一起的(前面的图)。我发现那些宣传自己为"Docker CI“服务的服务通常只是在谈论使用Docker来运行他们的构建工人。
我想要一个持续集成服务,在运行之间保留Docker构建缓存,而不是旋转一个全新的工作/文件系统/构建上下文。否则,构建将花费绝对的时间。理想的托管(与https://github.com/groupon/DotCi不同,CircleCI的每个构建的数据库都没有提供)。
我找到的唯一的东西是TeamCity (旧的,你不能像使用CircleCI那样容易地在yaml文件中版本构建任务,你必须维护基础设施,等等)。Quay.io不像CircleCI和Travis那样提供数据库,所以你必须将dev和prod分成两部分,并在容器内部安装一个,并在容器构建期间运行单元测试(啊-你不能衍生到一个未构建的容器中来调试东西!)。
如何在Docker容器集群上运行持续集成?
发布于 2015-01-29 06:42:23
CircleCI 1.0
Docker允许您构建CircleCI容器作为构建的一部分:https://circleci.com/integrations/docker
然而,你说得对,这不会缓存Docker镜像--在我们的堆栈中,要做到这一点有点棘手,但我们计划很快解决这个问题。
与此同时,许多客户已经使用CircleCI的内置(非Docker)缓存,通过使用docker save/docker load:https://circleci.com/docs/docker#caching-docker-layers来缓存它。这并不理想,但它应该可以帮助您度过难关,直到我们能够更好地支持它。
针对CircleCI 2.0进行了更新
Docker 2.0是以CircleCI为中心的。您可以构建Docker镜像,利用层缓存,使用Docker Compose,甚至使用官方和自定义的Docker镜像作为您的构建环境。
发布于 2015-08-22 06:08:17
我目前正在使用CircleCI,有关使用docker缓存的良好指南,请参阅http://tschottdorf.github.io/cockroach-docker-circleci-continuous-integration
shippable也值得一试,因为他们的整个基础设施都是基于docker,并使用shippable formations编排多个docker容器。
发布于 2015-11-26 18:46:22
https://stackoverflow.com/questions/28201628
复制相似问题