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

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

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

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

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

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