V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
me221
V2EX  ›  问与答

如何做 CI/CD (Drone CI/CD 最佳实践)

  •  
  •   me221 · 2022-10-25 14:56:20 +08:00 · 1864 次点击
    这是一个创建于 521 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司的项目放在 Github. 服务器是国内 ECS.

    想自建 Drone CI/CD, 有什么办法解决服务器拉 github 慢的办法(不敢在生产环境上装代理,怕影响服务+封鸡).

    build 好的 docker 镜像放在哪里? 不想再买镜像服务. 因为本身使用量并不大,完全没必要花钱.有什么免费的额度多的

    特别小的公司 只有一台 8C16G. 把 CI/CD 和服务放在一起.会不会 All In Boom

    另外问: 用过 drone 的大佬们踩过什么坑? 小弟想火速完工吃鸭腿饭.

    7 条回复    2022-10-26 14:40:07 +08:00
    masker
        1
    masker  
       2022-10-25 15:01:30 +08:00 via Android
    docker private registry
    233373
        2
    233373  
       2022-10-25 15:05:33 +08:00
    @masker 表示赞同,可以找一台国外的鸡儿,抓们用来 build 镜像,国内的直接 pull 即可
    stille
        3
    stille  
       2022-10-25 16:09:43 +08:00
    drone 支持代理,在 environment 里配置 http 代理

    你可以让公司在买一台 HK 轻量云服务器专门作为代理服务器,用于代理拉取 github,顺手自建个 docker registry 作为镜像加速服务

    去年玩了几个月 drone 就是这么搞的.
    wu00
        4
    wu00  
       2022-10-25 17:09:15 +08:00
    网络问题 - FastGithub ,README 里面写的合法性说明:公用电信网提供的国际出入口信道
    镜像仓库 - 自建 docker registry 或者 用各大云厂商的免费镜像仓库服务
    负载问题 - 8C16G 绰绰有余,既然都这么不讲究了,有钱了或者扛不住了在拆分呗?
    perfectlife
        5
    perfectlife  
       2022-10-25 18:06:09 +08:00
    哈哈,这个我知道,因为我最早也是公司代码在 github 然后用的 drone .
    首先吧,你如果本身使用量不大 直接上 github action ,然后镜象也可以用 github 存储。下面说 drone,
    1 、拉代码问题,我之前是拉代码手动拉,把 github.com 替换为一些加速地址,例如 git_url=$(echo $DRONE_GIT_HTTP_URL|sed s/github.com/github.com.cnpmjs.org/g )
    2 、镜像可以用云供应商提供的免费版本,日常够用。
    3 、踩过的坑,没啥大坑吧,就是社区不活跃,文档没那么多吧。用 k8s+drone 的话 ,可能要调整一下监控,drone 是所有步骤都在一个 pod 里,每一步完了 kill pod 内一个 container ,有可能会监控会告警,没用 k8s 忽略。
    结束语 有一说一 drone 用起来比 jenkins 舒服,模板用好了很方便。
    perfectlife
        6
    perfectlife  
       2022-10-25 18:06:53 +08:00
    @perfectlife 2 、镜像仓库可以用云供应商提供的免费版本,日常够用。
    me221
        7
    me221  
    OP
       2022-10-26 14:40:07 +08:00
    @233373
    @masker
    @stille
    @wu00

    谢大佬们的建议. 最后买了一台清凉香港,部署 Drone+registry.然后在 ECS 和清凉建立 wireguard 直接 docker pull

    @perfectlife 我的 github 同时存在自己的私有库+组织库. drone 有没有办法只显示组织的库不显示自己的库
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5338 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 08:21 · PVG 16:21 · LAX 01:21 · JFK 04:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.