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

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

  •  
  •   Yest192 · 2022-08-12 10:47:00 +08:00 · 10380 次点击
    这是一个创建于 820 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们小公司,最近看到公司有一个 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 外,现在还有哪个工具能支持这几个需求的吗。
    48 条回复    2022-10-19 15:10:57 +08:00
    hyrepo
        1
    hyrepo  
       2022-08-12 10:49:42 +08:00
    没记错的话 Bamboo 可以私有化部署,Gitlab 的 CI 好像也有私有化部署的版本
    18601294989
        2
    18601294989  
       2022-08-12 10:50:10 +08:00
    都用云效了 为啥不用云效的流水线
    demonzoo
        3
    demonzoo  
       2022-08-12 10:52:47 +08:00
    为啥不用 github actions ?
    ziwen1943
        4
    ziwen1943  
       2022-08-12 10:53:50 +08:00
    gitlab 仓库的自带 CI 工具 gitlab-runner ,需要写 gitlab-ci.yml 文件定义 CI ,效果要比 jenkins 好,但是有学习门槛
    Mithril
        5
    Mithril  
       2022-08-12 10:55:01 +08:00
    TeamCity ,100 个项目免费。
    最开始打算用传统 CI 的时候就没选 Jenkins ,界面暂且不论,那个插件系统更是让你部署完了绝对不想升级。

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

    实际上如果想多代码源头完全可以在 runner 里面挂载上 ssh ,然后自己决定拉那个。当然,也比较麻烦
    micean
        8
    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
        9
    Yest192  
    OP
       2022-08-12 11:03:34 +08:00
    @18601294989 云效流水线最后能往 aws 部署吗?昨天简单看了下好像只支持阿里云。
    Yest192
        10
    Yest192  
    OP
       2022-08-12 11:06:29 +08:00
    @micean 你说的好像挺符合我的需求的,我去研究下 多谢了。
    renothing
        11
    renothing  
       2022-08-12 11:24:53 +08:00   ❤️ 1
    可以试试 ovh 的 cds
    https://github.com/ovh/cds
    masker
        12
    masker  
       2022-08-12 11:25:31 +08:00 via Android
    drone
    xlsepiphone
        13
    xlsepiphone  
       2022-08-12 11:33:27 +08:00
    drone ci 配合 gitea ,公司内部使用应该体验还不错。
    renhou
        14
    renhou  
       2022-08-12 11:38:53 +08:00
    github actions
    brader
        15
    brader  
       2022-08-12 11:39:32 +08:00
    你用阿里的云效,然后服务器又用 aws ?晕死哦。
    说回正事,首先,云效的流水线部署,是可以支持其他云服务商的服务器的,不过需要你安装阿里云盾这样的东西,来上传获得服务器状态信息。
    其实我建议你们服务器既然是用 AWS ,那么代码也迁移过 AWS 吧,AWS 也是有流水线自动部署的,一套用 AWS 的
    chronos
        16
    chronos  
       2022-08-12 11:46:44 +08:00
    如果会 python 的话,用 buildbot 也可以。webhook 插件可以自己照着别的人写一个,代码量不多。git polling 也没问题,就是工程的 CI/CD 配置需要用 python 来写。
    ttyn
        17
    ttyn  
       2022-08-12 11:48:50 +08:00
    云效+docker
    wellsc
        18
    wellsc  
       2022-08-12 11:57:14 +08:00
    太多了
    defunct9
        19
    defunct9  
       2022-08-12 13:19:06 +08:00 via iPhone
    onedev
    nothingistrue
        20
    nothingistrue  
       2022-08-12 13:46:45 +08:00
    对 Jenkins 旧界面无感的,可以试试 Jenkins Blue 界面 + pipeline 部署方式(需要会 Groovy ),保证让你耳目一新,就是使用门槛太高。
    xuxuxu123
        21
    xuxuxu123  
       2022-08-12 13:52:43 +08:00
    云效支持自部署服务器;但是需要安装一个 agent 服务,用来执行部署命令;
    superchijinpeng
        22
    superchijinpeng  
       2022-08-12 13:55:28 +08:00
    TeamCity
    msaionyc
        23
    msaionyc  
       2022-08-12 14:01:45 +08:00
    gitlab 可以
    wunonglin
        24
    wunonglin  
       2022-08-12 14:16:17 +08:00
    teamcity 相比 jenkins 简直不要太舒服
    c4fun
        25
    c4fun  
       2022-08-12 14:37:15 +08:00
    GitLab 的话,除了可以给 gitlab 内部仓库搞 CI/CD 流水线之外,也可以给外部项目(比如 GitHub )搞流水线。公司里面都在用,还挺方便的。
    sutra
        26
    sutra  
       2022-08-12 14:38:07 +08:00
    新版的 Jenkins ,已经不古早了。
    chenzi0103
        27
    chenzi0103  
       2022-08-12 15:00:07 +08:00   ❤️ 1
    argo-workerflow
    wangyzj
        28
    wangyzj  
       2022-08-12 15:07:21 +08:00   ❤️ 1
    gitlab-ci,argo
    Dragonphy
        29
    Dragonphy  
       2022-08-12 15:11:27 +08:00
    gitlab-ci 体验挺好的
    IvanLi127
        30
    IvanLi127  
       2022-08-12 16:00:19 +08:00
    Drone CI 可以看看。
    zedpass
        31
    zedpass  
       2022-08-12 16:04:39 +08:00
    新版本的 Jenkins UI 还行吧,可以使用 blueocean 模式
    wingoo
        32
    wingoo  
       2022-08-12 16:20:08 +08:00
    aws 就 code pipeline 吧
    keepcleargas
        33
    keepcleargas  
       2022-08-12 16:20:41 +08:00
    gitlab 可以
    pkoukk
        34
    pkoukk  
       2022-08-12 17:45:30 +08:00
    gitlab ci+Runner 效果还挺好的,灵活快捷,就是写 yaml 有点痛苦
    wjx0912
        35
    wjx0912  
       2022-08-12 17:55:30 +08:00
    TeamCity ,100 个项目免费,但是只支持 3 个 agent
    DGideas
        36
    DGideas  
       2022-08-12 18:08:43 +08:00
    如果能迁移到 GitHub 的话,可以考虑使用 GitHub CI ,外加私有 CI 服务器(如果需要)

    https://dgideas.net/2022/using-github-actions-build-ci-cd-workflow/
    Yest192
        37
    Yest192  
    OP
       2022-08-12 18:12:42 +08:00
    @xuxuxu123 这样的话挺不错的 我去看看
    lusifer
        38
    lusifer  
       2022-08-12 18:17:43 +08:00
    推荐一个国产替代方案
    https://walle-web.io/docs/2/installation.html
    WispZhan
        39
    WispZhan  
       2022-08-12 19:19:43 +08:00
    Concourse 老牌了
    nkidgm
        40
    nkidgm  
       2022-08-12 20:09:08 +08:00
    这波我撑 gitlab
    sampeng
        41
    sampeng  
       2022-08-12 20:15:40 +08:00   ❤️ 3
    不要把简单问题复杂化。。运维工作不是好看即正确的。jenkins 是现阶段开源里面唯一能做任何事的。没有任何毛病,插件系统是他的优点,并不是缺点。升级也并不痛苦,我们每年升级一次,也没啥问题。部署是要的稳定,不是好看
    linuxsuren
        42
    linuxsuren  
       2022-08-12 21:01:17 +08:00
    smilenceX
        43
    smilenceX  
       2022-08-12 22:45:34 +08:00
    jb 家的 TeamCity +1 如果是小公司,免费的 license 应该就够用了。
    BeautifulSoap
        44
    BeautifulSoap  
       2022-08-12 23:10:36 +08:00 via Android
    那啥,都用 aws 了为什么不直接用 aws 自家的 code pipeline ?
    Aloento
        45
    Aloento  
       2022-08-13 00:02:19 +08:00
    OpenStack 用的是 Zuul
    network127001
        46
    network127001  
       2022-08-16 17:38:51 +08:00
    推荐一下我们公司的产品,是通过容器来跑任务的,也有一些公共的容器可以直接调用,比如发邮件这种
    https://jianmu.dev/
    v2tex
        47
    v2tex  
       2022-10-12 10:27:12 +08:00
    @network127001 很高兴看到国内有自己做的,不过在 M1 试了一下,启动成功,能看到页面,但是无法登录,登录账号密码明文传输
    coidx
        48
    coidx  
       2022-10-19 15:10:57 +08:00
    可以看看蓝鲸 DevOpps 的社区版
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1212 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:58 · PVG 07:58 · LAX 15:58 · JFK 18:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.