求教下有哪个 CI/CD 工具能完全替代 Jenkins 的,求推荐

2022-08-12 10:47:00 +08:00
 Yest192
我们小公司,最近看到公司有一个 php 后台的组还在用 git 发布看着难受,想帮他们做一下自动部署。目前他们主要的代码库在阿里的云效 codeup 、还有一些早期的在 bitbucket 上,服务器在 aws 。

因为之前只用过 Jenkins 感觉那个界面确实有点古早了,整个用起来体验一般。于是研究了一下比较新的一些持续化集成工具,但是感觉都不太合适。比如 Drone 、Circle CI/CD 、gitlab CI 貌似都只支持单一代码源而且对国内的一些代码库比如 coding 、codeup 都好像不支持。另外 codeup 自带有流水钱,代码源很全但是部署好像只支持阿里云的服务器?

所以大概有以下需求
1 尽量不迁移代码库能支持 codeUp 、bitbucket 、最好是也能支持 gitee 和 coding 。
2 最好一个账户进去之后能同时看到多个 git 来源的,而不是类似 Drone 那种一个服务只支持同一个来源。
3 最后 CI/CD 应该是要部署在 AWS 上的,整个发布很简单基本代码拉下来,跑两条命令就好。

我研究了半天感觉也就 jenkins 可以满足要求,毕竟就算他不支持各家的 webhook ,就算用定时 polling 貌似也能简单实现,非常的通用。

所以想问问大家除了 Jenkins 外,现在还有哪个工具能支持这几个需求的吗。
10593 次点击
所在节点    程序员
48 条回复
hyrepo
2022-08-12 10:49:42 +08:00
没记错的话 Bamboo 可以私有化部署,Gitlab 的 CI 好像也有私有化部署的版本
18601294989
2022-08-12 10:50:10 +08:00
都用云效了 为啥不用云效的流水线
demonzoo
2022-08-12 10:52:47 +08:00
为啥不用 github actions ?
ziwen1943
2022-08-12 10:53:50 +08:00
gitlab 仓库的自带 CI 工具 gitlab-runner ,需要写 gitlab-ci.yml 文件定义 CI ,效果要比 jenkins 好,但是有学习门槛
Mithril
2022-08-12 10:55:01 +08:00
TeamCity ,100 个项目免费。
最开始打算用传统 CI 的时候就没选 Jenkins ,界面暂且不论,那个插件系统更是让你部署完了绝对不想升级。

其实如果你的流程极其简单,又没什么依赖,还不如自己 AWS 上写个 Lambda 跑你那俩命令算了。
a852695
2022-08-12 10:58:39 +08:00
腾讯应该也有商业化的流水线平台
hxndg
2022-08-12 10:59:25 +08:00
@ziwen1943
用了一段时间,感觉 gitlab 的问题是 job runner 的控制不方便,需要每次重新 deploy runner
自己写 gitlab-ci.yml 并不难,毕竟就是一堆 shell 的语法,

实际上如果想多代码源头完全可以在 runner 里面挂载上 ssh ,然后自己决定拉那个。当然,也比较麻烦
micean
2022-08-12 11:02:09 +08:00
我在用 jetbrains 的 teamcity ,集成化很高,最大的缺点是慢
1. 有账号登录 git 就行
2. 没问题,git 只和 project 关联
3. docker 部署或者 jar 部署,ci/cd 自己写,默认支持 git polling trigger ,也可以手动点
Yest192
2022-08-12 11:03:34 +08:00
@18601294989 云效流水线最后能往 aws 部署吗?昨天简单看了下好像只支持阿里云。
Yest192
2022-08-12 11:06:29 +08:00
@micean 你说的好像挺符合我的需求的,我去研究下 多谢了。
renothing
2022-08-12 11:24:53 +08:00
可以试试 ovh 的 cds
https://github.com/ovh/cds
masker
2022-08-12 11:25:31 +08:00
drone
xlsepiphone
2022-08-12 11:33:27 +08:00
drone ci 配合 gitea ,公司内部使用应该体验还不错。
renhou
2022-08-12 11:38:53 +08:00
github actions
brader
2022-08-12 11:39:32 +08:00
你用阿里的云效,然后服务器又用 aws ?晕死哦。
说回正事,首先,云效的流水线部署,是可以支持其他云服务商的服务器的,不过需要你安装阿里云盾这样的东西,来上传获得服务器状态信息。
其实我建议你们服务器既然是用 AWS ,那么代码也迁移过 AWS 吧,AWS 也是有流水线自动部署的,一套用 AWS 的
chronos
2022-08-12 11:46:44 +08:00
如果会 python 的话,用 buildbot 也可以。webhook 插件可以自己照着别的人写一个,代码量不多。git polling 也没问题,就是工程的 CI/CD 配置需要用 python 来写。
ttyn
2022-08-12 11:48:50 +08:00
云效+docker
wellsc
2022-08-12 11:57:14 +08:00
太多了
defunct9
2022-08-12 13:19:06 +08:00
onedev
nothingistrue
2022-08-12 13:46:45 +08:00
对 Jenkins 旧界面无感的,可以试试 Jenkins Blue 界面 + pipeline 部署方式(需要会 Groovy ),保证让你耳目一新,就是使用门槛太高。

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

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

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

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

© 2021 V2EX