容器环境持续集成优化, Drone CI 提速 500%

2019-05-06 17:51:29 +08:00
 AlloVince
前文 /t/551430 分享了一些持续集成的基础

这篇文章在此基础上分享一些优化和提速的方法

https://avnpc.com/pages/speed-up-drone-ci-workflow
2669 次点击
所在节点    程序员
8 条回复
cnbattle
2019-05-06 18:06:16 +08:00
收藏了 之前弄过一次 挺简单的
mritd
2019-05-06 18:21:41 +08:00
正经企业复杂项目,多环境啥的还得 gitlab ci
mritd
2019-05-06 18:22:20 +08:00
Drone 看似简单,实际上太多东西不足,小项目自己要倒是个不错的选择
iamkun
2019-05-06 18:23:56 +08:00
路过 收藏了
Lpl
2019-05-06 18:26:03 +08:00
问题主要就是出在 cache 上了,增加下 yarn cache 或者 npm cache,然后挂载进来就能剩大量的网络时间;
还有个问题,Docker-in-Docker 不需要 privileged: true 的权限,只需要把 socks 挂载进去就可以用了
AlloVince
2019-05-07 10:59:11 +08:00
@Lpl 如果是挂载的方式不需要 privileged,因为主机的 daemon 已经有足够权限, 但如果使用我说的在容器内启动 docker daemon 是需要 privileged 的
AlloVince
2019-05-07 11:05:21 +08:00
@mritd Gitlab CI 结合 Gitlab 才比较好用,集成 github 是付费功能,免费版缺失的功能也有点多,而付费又是按 per user per month 来付的,感觉不是很友好

https://about.gitlab.com/pricing/self-managed/feature-comparison/

如果偏保守的话,还是 Jenkins 吧
mritd
2019-05-07 11:11:30 +08:00
@AlloVince #7 如果是 github 开源项目就直接采用 travis-ci 了,如果是私有项目 那么只能 web hook 了...我们目前是 私有部署 gitlab,配合 gitlab ci,runner 容器驱动

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX