V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AlloVince
V2EX  ›  程序员

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

  •  
  •   AlloVince ·
    AlloVince · 2019-05-06 17:51:29 +08:00 · 2823 次点击
    这是一个创建于 2019 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前文 /t/551430 分享了一些持续集成的基础

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

    https://avnpc.com/pages/speed-up-drone-ci-workflow
    8 条回复    2019-05-07 11:11:30 +08:00
    cnbattle
        1
    cnbattle  
       2019-05-06 18:06:16 +08:00
    收藏了 之前弄过一次 挺简单的
    mritd
        2
    mritd  
       2019-05-06 18:21:41 +08:00 via iPhone
    正经企业复杂项目,多环境啥的还得 gitlab ci
    mritd
        3
    mritd  
       2019-05-06 18:22:20 +08:00 via iPhone
    Drone 看似简单,实际上太多东西不足,小项目自己要倒是个不错的选择
    iamkun
        4
    iamkun  
       2019-05-06 18:23:56 +08:00
    路过 收藏了
    Lpl
        5
    Lpl  
       2019-05-06 18:26:03 +08:00
    问题主要就是出在 cache 上了,增加下 yarn cache 或者 npm cache,然后挂载进来就能剩大量的网络时间;
    还有个问题,Docker-in-Docker 不需要 privileged: true 的权限,只需要把 socks 挂载进去就可以用了
    AlloVince
        6
    AlloVince  
    OP
       2019-05-07 10:59:11 +08:00
    @Lpl 如果是挂载的方式不需要 privileged,因为主机的 daemon 已经有足够权限, 但如果使用我说的在容器内启动 docker daemon 是需要 privileged 的
    AlloVince
        7
    AlloVince  
    OP
       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
        8
    mritd  
       2019-05-07 11:11:30 +08:00
    @AlloVince #7 如果是 github 开源项目就直接采用 travis-ci 了,如果是私有项目 那么只能 web hook 了...我们目前是 私有部署 gitlab,配合 gitlab ci,runner 容器驱动
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:24 · PVG 10:24 · LAX 18:24 · JFK 21:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.