首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否有任何CI服务允许您构建Docker容器并使用docker构建缓存?

是否有任何CI服务允许您构建Docker容器并使用docker构建缓存?
EN

Stack Overflow用户
提问于 2015-01-29 04:19:38
回答 4查看 4.4K关注 0票数 20

我有一堆Docker容器,都是使用docker-compose连接在一起的(前面的图)。我发现那些宣传自己为"Docker CI“服务的服务通常只是在谈论使用Docker来运行他们的构建工人。

我想要一个持续集成服务,在运行之间保留Docker构建缓存,而不是旋转一个全新的工作/文件系统/构建上下文。否则,构建将花费绝对的时间。理想的托管(与https://github.com/groupon/DotCi不同,CircleCI的每个构建的数据库都没有提供)。

我找到的唯一的东西是TeamCity (旧的,你不能像使用CircleCI那样容易地在yaml文件中版本构建任务,你必须维护基础设施,等等)。Quay.io不像CircleCI和Travis那样提供数据库,所以你必须将dev和prod分成两部分,并在容器内部安装一个,并在容器构建期间运行单元测试(啊-你不能衍生到一个未构建的容器中来调试东西!)。

如何在Docker容器集群上运行持续集成?

EN

回答 4

Stack Overflow用户

发布于 2015-01-29 06:42:23

CircleCI 1.0

Docker允许您构建CircleCI容器作为构建的一部分:https://circleci.com/integrations/docker

然而,你说得对,这不会缓存Docker镜像--在我们的堆栈中,要做到这一点有点棘手,但我们计划很快解决这个问题。

与此同时,许多客户已经使用CircleCI的内置(非Docker)缓存,通过使用docker save/docker loadhttps://circleci.com/docs/docker#caching-docker-layers来缓存它。这并不理想,但它应该可以帮助您度过难关,直到我们能够更好地支持它。

针对CircleCI 2.0进行了更新

Docker 2.0是以CircleCI为中心的。您可以构建Docker镜像,利用层缓存,使用Docker Compose,甚至使用官方和自定义的Docker镜像作为您的构建环境。

票数 15
EN

Stack Overflow用户

发布于 2015-08-22 06:08:17

我目前正在使用CircleCI,有关使用docker缓存的良好指南,请参阅http://tschottdorf.github.io/cockroach-docker-circleci-continuous-integration

shippable也值得一试,因为他们的整个基础设施都是基于docker,并使用shippable formations编排多个docker容器。

票数 3
EN

Stack Overflow用户

发布于 2016-12-12 20:05:31

这里有一个相关的问题"How can I let the gitlab-ci-runner DinD image cache intermediate images?"

即使our solution需要最少的基础设施维护(我们需要运行我们自己的runner),我认为它值得一看。

基本上,我们不在Docker中运行Docker,但我们只为runners创建了一个单独的VM。这对安全和清理任务有一些影响,请参阅我们的runner的README

也许在未来,随着Docker对各种CI系统的支持得到改进,这个解决方案将会过时,但现在它是性能、可维护性和可用性之间的一个很好的组合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28201628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档