V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wuxier
V2EX  ›  程序员

想替换掉 Jenkins,有啥好的推荐吗?

  •  
  •   wuxier · 2025 年 5 月 21 日 · 12944 次点击
    这是一个创建于 237 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前正在使用 Jenkins 进行 cicd ,最近想要换个一个 cicd 工具,看来好几个基本都是推荐的 gitlab runner ,不知道有没有其他推荐的
    第 1 条附言  ·  2025 年 5 月 21 日
    统一回复一下,因为是公司内网用的,saas 服务类的只能放弃的,关于 drone ,supg ,teamcity ,onedev 等之类打算都部署体验一下看看效果
    100 条回复    2025-05-23 15:21:43 +08:00
    concernedz
        1
    concernedz  
       2025 年 5 月 21 日
    drone?
    ninja911
        2
    ninja911  
       2025 年 5 月 21 日
    spug 啊... 放弃 java 东西,开机就吃你内存。
    j1132888093
        3
    j1132888093  
       2025 年 5 月 21 日
    建木?
    YummyCocoa
        4
    YummyCocoa  
       2025 年 5 月 21 日   ❤️ 4
    私有化的话 -> Gitea ,相比 GitLab 轻量多了,GitLab 有点太重了,个人的成本太高。
    公有云的话 -> cnb.cool ,流水线功能和 GitLab 一样基于容器技术,速度非常快,对 GitHub 等境外网站有网络优化。
    superchijinpeng
        5
    superchijinpeng  
       2025 年 5 月 21 日
    teamcity
    wyshp
        6
    wyshp  
       2025 年 5 月 21 日
    云效
    yzqn
        7
    yzqn  
       2025 年 5 月 21 日   ❤️ 1
    为什么要替换掉 Jenkins
    xubeiyou
        8
    xubeiyou  
       2025 年 5 月 21 日
    我在传统公司 感觉用着还行 但是插件确实有点乱以及难用 但是免费开源的东西么
    jiayao
        9
    jiayao  
       2025 年 5 月 21 日
    jb 公司的 teamcity, 界面好看功能齐全
    litchinn
        10
    litchinn  
       2025 年 5 月 21 日
    如果你们已经用了很长时间 jenkins 了,那很难换,因为别的 cicd 工具都没有 jenkins 来的灵活,自由
    argo cd, drone ci, 建木, travis
    FlytoSirius
        11
    FlytoSirius  
       2025 年 5 月 21 日 via iPhone
    确实不好换。 大概被广泛使用的备选只有 gitlab 啦
    NoCash
        12
    NoCash  
       2025 年 5 月 21 日
    替换只有自研
    yansheng1003
        13
    yansheng1003  
       2025 年 5 月 21 日 via Android
    onedev 很好用
    ATKLLL
        14
    ATKLLL  
       2025 年 5 月 21 日   ❤️ 1
    轻度用过 jenkins 各种插件版本管理太混乱了,经常出兼容性问题,界面看着也乱,放弃了。
    让后用了半年左右的 gitlab , 配置文件太抽象,而且性能很差,可能是我太菜吧。
    最终选了 teamcity 用了有三年了吧,已经完全融入到工作中了,不需要操心,配置也非常直观便捷,以至于我对他都没啥印象了 总之就是好用。
    Chatterleys
        15
    Chatterleys  
       2025 年 5 月 21 日
    spug 非常好用
    lff0305
        16
    lff0305  
       2025 年 5 月 21 日
    teamcity 。比 JK 好用太多了。
    guanzhangzhang
        17
    guanzhangzhang  
       2025 年 5 月 21 日
    🙄同样感觉 jenkins 难用,官方文档就基础的 DSL 语法,想写出牛逼的还得学 groovy ,groovy 的很多有直接用 java 的语法和库啥的。有时候一些场景实现都只能在 StackOverflow 和外国论坛上看到大佬们的 groovy 片段啥的。
    MIUIOS
        18
    MIUIOS  
       2025 年 5 月 21 日
    jenkins 又重又难用,但是没啥好替代的
    guanyujia5444
        19
    guanyujia5444  
       2025 年 5 月 21 日   ❤️ 1
    Jenkins 相对比较灵活,可以实现你想实现的任何东西,代价就是比较重。不知道你想替换 CICD 工具是为了实现什么目的,以及发布的环境架构。如果是传统架构,最好是先转到容器化 K8S ,这样 CICD 工具就方便选多了。
    fenglirookie
        20
    fenglirookie  
       2025 年 5 月 21 日
    @ATKLLL teamcity 收费的呀
    micean
        21
    micean  
       2025 年 5 月 21 日
    @fenglirookie 免费版多部署几个的事
    brom111
        22
    brom111  
       2025 年 5 月 21 日
    要不就是 gitlab ci 要不就是 drone 。感觉各有各的问题。 感觉本质上没有什么换的必要。。 不过 jenkins 的 IaC 确实不好用
    xz410236056
        23
    xz410236056  
       2025 年 5 月 21 日
    https://flowci.github.io/#/cn/
    开源的,好几年了界面好看很多,之前小公司我自己用。
    tingyunsay
        24
    tingyunsay  
       2025 年 5 月 21 日
    tc 也不好用,凑合用得了
    craftsmanship
        25
    craftsmanship  
       2025 年 5 月 21 日 via Android
    有没有大佬讲讲用 GitHub Actions 替换怎么样
    ysicing
        26
    ysicing  
       2025 年 5 月 21 日
    drone 我感觉还是不错的,但是复杂的嵌套流水线估计比较困难
    Mithril
        27
    Mithril  
       2025 年 5 月 21 日
    传统的 CI 考虑 TeamCity 就行,跟 TeamCity 比 Jenkins 坑真的多。

    我 N 年前写的 TeamCity 插件现在还能用,但 Jenkins 就废了。这东西基本上锁死在你最初搭建的那个版本上。功能基本全靠一堆破插件,破插件之间还有互相依赖关系。等用一段时间你就发现,你想要一个功能,需要一个新插件。新插件需要新版本的 Jenkins ,但你要是更新 Jenkins ,你有个老插件的依赖插件就没法用了。导致你整个功能会挂掉。

    Jenkins 属于成也开源败也开源的典型。让你深切体会到一个复杂系统管理失控是个什么结果。只做核心功能,其他交给社区没问题。但社区插件也能互相依赖的话,一个插件作者不维护了,所有依赖它的插件全都要挂掉。可能后续其他插件也能提供类似的功能。但 CI 这种东西一旦搭建起来几十几百个项目都带在上面,不更新还有 CVE ,一更新挂掉一半这谁受得了。

    TeamCity 大部分功能都是自身就有的,插件依赖度比较低。该更新就更新,从来不会有问题。免费版 100 个配置 3 个 Agent 基本也够用了。

    但说实话,最方便的还是现代 CI 那种配置文件+Docker 的。虽然配置麻烦一点,但一般一个项目也就配一次。
    coolcools
        28
    coolcools  
       2025 年 5 月 21 日
    没人用 Azure DevOps ?
    Liuman
        29
    Liuman  
       2025 年 5 月 21 日
    我用的 drone 还是感觉很不错的, 写 yml 就行了, 搞一个服务端,多个部署端, 通过配置 yml 随机部署到任意一台服务器上
    eryajf
        30
    eryajf  
       2025 年 5 月 21 日   ❤️ 2
    https://github.com/opsre/JenkinsGuide

    已开坑,写了五六篇了,以后会慢慢更新。
    shijilong521
        31
    shijilong521  
       2025 年 5 月 21 日
    @guanzhangzhang #17 同感,pipeline 文件参数就鸡肋,也是从 StackOverflow 找到大佬的 groovy 解决方案
    defunct9
        32
    defunct9  
       2025 年 5 月 21 日
    onedev 不久完事了
    raysmond
        33
    raysmond  
       2025 年 5 月 21 日
    jenkins 还可以啊
    to2false
        34
    to2false  
       2025 年 5 月 21 日
    drone ci 不错
    spritecn
        35
    spritecn  
       2025 年 5 月 21 日
    drone 稳定省心
    x68e93l07gJlfqPK
        36
    x68e93l07gJlfqPK  
       2025 年 5 月 21 日
    spug 呀,非常好用,不仅能满足你的发布需求,还能满足你管理服务器、监控报警、任务计划、在线终端等运维需求。开源地址: https://github.com/openspug/spug
    xue0
        37
    xue0  
       2025 年 5 月 21 日
    jenkins 挺好的,灵活。gitlab 本身占用比 jenkins 还大。Drone CI / Harness 基本就维护了(个人观点)
    Alliot
        38
    Alliot  
       2025 年 5 月 21 日
    没有集群化部署需求,且有历史债在,Jenkins 还是丢不掉。

    否则,你可以试试 argo 全家桶(需要自己实现完整的逻辑,但是云原生友好,和 k8s 高度集成),
    gitea action (和 Github Actions 很像),
    drone ci(功能比较残缺的 GitHub Action 简化版)

    gitlab 的话,习惯也可以用。
    yinshuai
        39
    yinshuai  
       2025 年 5 月 21 日
    drone 还不错,基于 docker 的,现在自己定制了 docker 镜像+开源镜像搭配使用,还蛮稳定的。界面也还不错
    mbeoliero123
        40
    mbeoliero123  
       2025 年 5 月 21 日
    buddy works ,没人用这个吗?感觉还行,就是收费
    putaozhenhaochi
        41
    putaozhenhaochi  
       2025 年 5 月 21 日
    楼上好几个回复 spug, 看下官方文档 spug 商用也是收费的
    dajj
        42
    dajj  
       2025 年 5 月 21 日
    手写 python 部署代码
    wuhao666
        43
    wuhao666  
       2025 年 5 月 21 日
    Gitea Actions 怎么样,有大佬用这个吗
    spritecn
        44
    spritecn  
       2025 年 5 月 21 日
    @dajj 我们搞了一套,但通用性不强,后面切 drone 了
    lixile
        45
    lixile  
       2025 年 5 月 21 日
    @eryajf 支持协作嘛 想着有部分有一些个人的见解或者 在一些约束下取巧的方法
    纯 fork 还是 可以提 PR
    remrin
        46
    remrin  
       2025 年 5 月 21 日
    teamcity
    moreant
        47
    moreant  
       2025 年 5 月 21 日
    TeamCity ,学习曲线平滑

    最近更新了新 UI 把 setting 模式区分出来了易用性更上一层楼。
    KagurazakaNyaa
        48
    KagurazakaNyaa  
       2025 年 5 月 21 日
    @wuhao666 还不错,语法和 GitHub Action 兼容
    QFDMY
        49
    QFDMY  
       2025 年 5 月 21 日
    @j1132888093 一样的头像
    future0906
        50
    future0906  
       2025 年 5 月 21 日   ❤️ 2
    不是,楼上一堆推荐的 spug 是托吧?看个 demo 都要微信关注才能拿体验账号。

    而且看了一下文档,更像 saltstack 和 ansible 之类的主机管理,跟 CI/CD 和 Jenkins 有什么关系?

    能用 gitlab 、gitea 的 CI/CD 的生态位其实跟 Jenkins 和 TeamCity 差得挺远的。能用 CI/CD 就不会用 Jenkins 。
    zed1018
        51
    zed1018  
       2025 年 5 月 21 日
    我觉得不管 OP 你用啥,都可以考虑把基于 CICD 平台的东西尽可能用 docker build stage 来搞,这样不用太依赖平台,后期你就算换也比较容易
    cc999
        52
    cc999  
       2025 年 5 月 21 日
    目前团队在用 tekton , 从 Jenkins 转过来的
    eryajf
        53
    eryajf  
       2025 年 5 月 21 日
    @lixile 非常欢迎提 pr 。
    Jemini
        54
    Jemini  
       2025 年 5 月 21 日
    github action ,drone
    wuxier
        55
    wuxier  
    OP
       2025 年 5 月 21 日
    @yzqn 近期发现 jenkins 会出现卡住假死的状态,看了监控也不是 cpu 、内存资源的问题,而且现在的 Jenkins 插件有好多开始不维护,会有提示不可用的,就想着替换掉
    JontyChen
        56
    JontyChen  
       2025 年 5 月 21 日
    TeamCity 咯,相当于不用怎么折腾的 jenkins
    wuxier
        57
    wuxier  
    OP
       2025 年 5 月 21 日
    @lff0305 是 JetBrains 的产品吗?这去了解一下
    wuxier
        58
    wuxier  
    OP
       2025 年 5 月 21 日
    @xz410236056 感谢,这边去了解一下
    wuxier
        59
    wuxier  
    OP
       2025 年 5 月 21 日
    @Mithril 是的现在 Jenkins 有好多插件都不能用了
    limiter
        60
    limiter  
       2025 年 5 月 21 日
    没有,试过很多 ci 工具,都没有 jenkins 傻瓜,可以让不懂编程的也能用,这是 jenkins 最大的优点
    xzysaber
        61
    xzysaber  
       2025 年 5 月 21 日
    onedev 还行,其实问题也不少,权限管理,CD/CD 模板共享等。
    drone 早就被收编,现在是 harness 的一部分了,harness 包含完整的 CVS ,CI/CD ,一年多以前使用问题还很多,仅供参考。
    Github action 不错,所以可以推荐可私有化部署的 gitea ,也支持了相似的 act 。不过指令支持的不全。
    gitlab 除了重了点,还是不错的。

    当然个人很不喜欢把 CI/CD 相关的文件放到 CVS 工具中和代码一起管理。所以又选择了 devtron ,但是其用户管理和 Helm 模板功能不太行。
    san3
        62
    san3  
       2025 年 5 月 21 日
    teamcity 用着还不错
    sn0wdr1am
        63
    sn0wdr1am  
       2025 年 5 月 21 日
    我白嫖 github action 非常棒。

    不知道大家使用 gitea action 体验咋样?
    ltttx
        64
    ltttx  
       2025 年 5 月 21 日
    为啥会?期望解决啥问题?能带来啥收益?
    elltor
        65
    elltor  
       2025 年 5 月 21 日
    argocd ,根 gitlab 联动很 nice
    jianrenjun
        66
    jianrenjun  
       2025 年 5 月 21 日
    gitea 在公司用了近两年了
    跟 github action 体验近乎一样 只不过尽量选择适合的镜像
    比如 catthehacker/ubuntu 有针对 js java 不同程序的镜像 jdk js 的 node 能通过
    例如 切换 node
    ```
    - name: Switch to Node.js 20 via NODEPATH
    run: |
    export NODEPATH="$ACT_TOOLSDIRECTORY/node/20.18.0/x64"
    export PATH="$NODEPATH/bin:$PATH"
    ```

    这些搞好之后相对比 jenkins 容易配置 因为 yml 都是随项目编写的 如果有二开的情况很方便
    不过缺点也有比如有些工具需要拉取 github 的应用商店 我是通过将 github 的插件同步到本地 gitea 如果有些链接需要翻墙可能还需要手动修改下同步过来的仓库
    再就是额外启动 gitea gitearunner 两个项目 亲测占用不是很大比 jenkins 懂不懂 8g 起步小的很多
    pony2335
        67
    pony2335  
       2025 年 5 月 21 日
    我用 teamcity ,很不错。
    hwdq0012
        68
    hwdq0012  
       2025 年 5 月 21 日
    forgejo + drone

    forgejo 和 gitea 基本兼容, gitea 之前搞了个骚操作,差点变成收费的, 吓得德国人 fork 出 forgejo
    edisonwong
        69
    edisonwong  
       2025 年 5 月 21 日
    groovy 写的我想死,调试也困难。jenkins 也不敢更新版本,也不敢装别的插件,曾今装了一个插件,把 jenkins 搞得崩了,手动回复 Plugin 文件夹
    fifa899
        70
    fifa899  
       2025 年 5 月 21 日
    阿里云效吧
    jianghu52
        71
    jianghu52  
       2025 年 5 月 21 日
    不知道是我司的项目复杂还是 gitlab 的配置问题.一个依赖 10+的 springboot 项目,每次用 gitlab 编译,都可能报错.错误还不太一样,有超时的,有内存错误的,有加载组件错误的.反正就是动不动就错.最诡异的是,不改代码,重新编译,就又可能 OK 了.跑起来也没问题.
    kenberkeley
        72
    kenberkeley  
       2025 年 5 月 21 日 via iPhone
    Buildkite?
    gl3081
        73
    gl3081  
       2025 年 5 月 21 日
    个人感觉:Github Actions > Jenkins > Gitlab runner
    fgt1t5y
        74
    fgt1t5y  
       2025 年 5 月 21 日
    Buildbot 也是一个选择,blender 就是用的这个。

    https://buildbot.net/
    Jinnrry
        75
    Jinnrry  
       2025 年 5 月 21 日
    Gitea Action +1

    1 、轻量,省资源,不像 gitlab 那种大家伙,动不动就要几十 G 的内存
    2 、gitea ation 兼容 github action ,可以直接用 github 的各种 action ,迁移简直太丝滑了,新写任务也可以直接用 github action ,非常省事
    3 、gitea action 也非常轻量,底层是容器实现,随便一台垃圾主机都能丝滑运行
    wangyzj
        76
    wangyzj  
       2025 年 5 月 21 日
    没有
    inframe
        77
    inframe  
       2025 年 5 月 21 日
    gitea action,
    GitHub 能用的都能继续用,就是要同步一些库到本地 gitea
    xingcy
        78
    xingcy  
       2025 年 5 月 22 日   ❤️ 1
    我觉得 Jenkins 很好用,能满足我任何需求,公司有频繁构建安卓 apk 的需求,我就写 Pipeline 、写批量打包脚本,然后内部后台调用 Jenkins API ,打包完在发飞书群,在 at 打包人,实现公司人人都可以打包,好用的很,可以随意定制化
    TechArtLife
        79
    TechArtLife  
       2025 年 5 月 22 日
    drone ci 都已经停止维护了,gitlab runner 可以试试,但是重度使用 jenkins 的用户,肯定还会回归到 jenkins ,因为同生态位没有等价替代
    LindsayZhou
        81
    LindsayZhou  
       2025 年 5 月 22 日 via Android
    不要用 Gitea Action !!!和 Github Action 相比,功能支持很不全。

    很多字段,比如 jobs.<n>.name , matix 没法动态模板生成。
    翻过它的代码之后感觉 native 类型的 workflow 调 dockerfile 类型的 action 有大问题(没记错的话)

    作为 gitea 的 fork ,forgejo 很有自知之明的在 forgejo-runner 的 readme 上写了,这是 alpha release quality 的代码,不要在生产上用 : https://code.forgejo.org/forgejo/runner
    alsas
        82
    alsas  
       2025 年 5 月 22 日
    spug
    tudou1514
        83
    tudou1514  
       2025 年 5 月 22 日
    换来换去还是 Jenkins 好用,自由度高,gitlab-runner 能用,但是总觉得和代码一起不安全(个人见解)。资源消耗,并发构建的时候,gitlab-runner 性能不如 Jenkins
    LindsayZhou
        84
    LindsayZhou  
       2025 年 5 月 22 日
    @LindsayZhou 书接 #81
    matrix 不能动态生成这个。
    我的应用场景是,第一个 job 判断哪些包需要重编,第二个 job 根据第一个 job 的输出来动态生成任务个数。
    这个 Github 支持,Forgejo/Gitea 是不支持的。

    还有一个槽点,workflow_call 的触发方法实质上我觉得是不能用的。
    如果一个 workflow (caller) 使用 jobs.<n>.uses 的方法调用另一个 workflow (callee) 。
    无论你的 callee 有几个 step ,caller 只会有两步,Setup Job 和 Complete Job 。
    callee 的日志全会塞在 caller 的 Setup Job 这一步里面
    Gourds
        85
    Gourds  
       2025 年 5 月 22 日
    目前我还是倾向 Jenkins ,DSL+groovy 弄几个模板共享库,管理起来很方便,都放 git 管理,之前用 tc 没弄成,可能是姿势不对
    ThinkCat
        86
    ThinkCat  
       2025 年 5 月 22 日
    gitlab runner 很好用的,如果公司的代码刚好又是在 gitlab 中维护的,那更完美了
    Dragonphy
        87
    Dragonphy  
       2025 年 5 月 22 日
    用过三个,Gitlab Runner, Drone 和 Gitea Actions 。

    Gitlab 没啥好说的,只要配置够,无脑选它
    Drone 很轻量,基本能满足需求,不符合的可以直接写 bash 脚本
    Gitea Actions 不会,虽说号称兼容 GitHub Actions ,但是由于内网部署,很多镜像用不了,之前在 V 站有大佬说把所有用到的环境镜像都打包成一个镜像就行,但是我玩不明白,主要是 GitHub Actions 不太熟。
    clemente
        88
    clemente  
       2025 年 5 月 22 日
    JENKINS 最好用 其他工具换一个场景 你可能不方便了
    highkay
        89
    highkay  
       2025 年 5 月 22 日
    个人使用经验,jenkins4-5 年>gitlab 不到 1 年>gitea 2 年。jenkins 运维成本比较高,适合大一点的团队。gitlab 主要是刀法太精准,免费版本功能卡的你很难受。gitea 当然不完美,不过适合中小规模的团队,简单够用。前面的人单个产品的优劣说的比较多了,我提一个点,就是你选型要看你的约束,比如团队规模,资源(比如单独的运维),团队成熟度(开发的平均水平)这些,脱离这些约束谈好或者不好意义不大,就跟哪个语言更好一样。
    baren
        90
    baren  
       2025 年 5 月 22 日
    用过 drone ,tekton ,jenkins ,综合下来,还是 jenkins 最好用
    用 docker 跑 jenkins master 节点,通过 SSH 通道连接 slave 节点,这样就可以用高主频的 SSD 家用电脑代替服务器节点,提高编译速度。
    权限管理用的用户组插件。
    master 上只是用下发配置的插件,step 上使用自己打包的各种编译工具镜像(这样 pipeline 基本都是人类直接执行的命令),通过 nexus 拉取,这样就不会有插件兼容性问题,因为只使用了一两个插件。
    最后 pipeline && job 写成 xml 文件,通过 jenkins 自带的 cli jar 工具管理,还可以使用 git 进行版本管理。
    drone 当时配合 gitea 使用的,权限管理只能用 gitea 的用户体系,不是很灵活。
    用过原生的 tekton ,权限管理基本没有。
    mmdsun
        91
    mmdsun  
       2025 年 5 月 22 日
    换 jenkins 最新版本。其他的没有 jenkins 好用。
    wxyrrcj
        92
    wxyrrcj  
       2025 年 5 月 22 日
    开源项目: 简而轻的低侵入式在线构建、自动部署、日常运维、项目运维监控软件 https://jpom.top
    Lee2019
        93
    Lee2019  
       2025 年 5 月 22 日
    如果你们用的 gitlab ,就用 gitlab-ci 是最简单的,然后每个项目的.gitlab-ci.yml 里面只要 include 一个统一的项目,只在这个项目里面维护流水线的详细步骤,侵入少好维护
    julyclyde
        94
    julyclyde  
       2025 年 5 月 22 日
    你现在 jenkins 是怎么用的?
    在 Jenkins project 这边写?还是用 jenkinsfile ?如果是后者,倒是比较符合现在的潮流
    7gugu
        95
    7gugu  
       2025 年 5 月 22 日
    @YummyCocoa CNB 这么拉就别推荐了
    YummyCocoa
        96
    YummyCocoa  
       2025 年 5 月 22 日
    @7gugu 怎么说? 我是觉得 CNB 目前个人用还不错
    delacey
        97
    delacey  
       2025 年 5 月 22 日
    @wuxier #55 磁盘 io ,网络排查了吗/
    wuxier
        98
    wuxier  
    OP
       2025 年 5 月 23 日
    @delacey 查了,也没问题,磁盘方面用的是 ssd ,当时的 io 不高,网络方面也看了 没发现啥问题
    alexmy
        99
    alexmy  
       2025 年 5 月 23 日
    目前是 gitea + drone 。打算移除 drone 用 gitea runner 算了。
    sampeng
        100
    sampeng  
       2025 年 5 月 23 日
    还是 gitlab+k8s 比较舒服。花了 1-2 个月改造。稳定,从来不出幺蛾子。简单可依赖的典范。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   938 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:45 · PVG 04:45 · LAX 12:45 · JFK 15:45
    ♥ Do have faith in what you're doing.