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

2022-10-25 14:56:20 +08:00
 me221

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

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

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

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

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

2199 次点击
所在节点    问与答
7 条回复
masker
2022-10-25 15:01:30 +08:00
docker private registry
233373
2022-10-25 15:05:33 +08:00
@masker 表示赞同,可以找一台国外的鸡儿,抓们用来 build 镜像,国内的直接 pull 即可
stille
2022-10-25 16:09:43 +08:00
drone 支持代理,在 environment 里配置 http 代理

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

去年玩了几个月 drone 就是这么搞的.
wu00
2022-10-25 17:09:15 +08:00
网络问题 - FastGithub ,README 里面写的合法性说明:公用电信网提供的国际出入口信道
镜像仓库 - 自建 docker registry 或者 用各大云厂商的免费镜像仓库服务
负载问题 - 8C16G 绰绰有余,既然都这么不讲究了,有钱了或者扛不住了在拆分呗?
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
2022-10-25 18:06:53 +08:00
@perfectlife 2 、镜像仓库可以用云供应商提供的免费版本,日常够用。
me221
2022-10-26 14:40:07 +08:00
@233373
@masker
@stille
@wu00

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

@perfectlife 我的 github 同时存在自己的私有库+组织库. drone 有没有办法只显示组织的库不显示自己的库

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

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

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

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

© 2021 V2EX