首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用码头时加快CI构建时间?

如何在使用码头时加快CI构建时间?
EN

Stack Overflow用户
提问于 2016-05-19 23:57:57
回答 1查看 1.4K关注 0票数 5

我目前使用docker + travis CI测试/部署我的应用程序。这在本地非常有用,因为我有用于node_modules等方面的数据卷,而docker的层提供了加速构建的缓存。

但是,当我将代码推送给travis时,它必须从头开始重新构建和安装所有东西,并且需要花费很长时间!Travis不支持缓存码头层atm。有没有其他方法来加快我的构建,或者其他类似的工具,允许对接层缓存?

EN

回答 1

Stack Overflow用户

发布于 2016-05-20 09:09:32

您可能需要研究i3wm是如何解决类似问题的。

主要开发人员已经在他的Travis CI工作流程背后的设计上编写了。引用有关部分:

其基本思想是基于Debian测试构建一个Docker容器,然后在该容器中运行所有构建/测试命令。我们的Dockerfile首先安装编译器、格式化程序和其他开发工具,然后根据i3文件安装i3的所有构建依赖项,这样我们就不需要复制Travis和Debian的构建依赖关系。 这很好地解决了眼前的问题,但代价很大:构建一个Docker容器会为Travis运行增加相当多的挂钟时间,我们希望给我们的贡献者快速反馈。长构建时间的解决方案是缓存:我们可以简单地将Docker容器上传到码头枢纽,并使后续构建使用缓存的版本。 我们决定缓存容器一个月,或者直到构建环境(当前的Dockerfiledebian/control)的输入发生变化。从技术上讲,这是由一个名为ha.sh的shell脚本实现的(懂吗?)哈希!它打印输入文件的SHA-256散列。附加到当前月份的这个散列是我们作为Docker容器的标记使用的,例如2016-03-3d453fe1。 有关如何将其连接在一起,请参阅我们的.travis.yml

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

https://stackoverflow.com/questions/37335910

复制
相关文章

相似问题

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