有什么开源项目可以辅助我,每次 push 代码后,在服务器上自动更新 swarm 容器? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
find456789
V2EX    问与答

有什么开源项目可以辅助我,每次 push 代码后,在服务器上自动更新 swarm 容器?

  •  
  •   find456789 2019-08-14 15:50:16 +08:00 2541 次点击
    这是一个创建于 2260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟之前用的阿里云的 docker swarm 服务,

    他们的 swarm 服务,可以绑定 git 仓库,当我推送代码到 git 代码库,他就会自动拉取新代码,并构建一个容器,然后部署到机器上

    但是现在他们要下线这个服务了

    我只有一台 ecs,暂时也不打算购买阿里云的 k8s

    所以我现在的可选方案是:

    1.使用阿里云的 k8s (必须要购买阿里云的负载均衡和 ingress,决定放弃这个方案)

    2.自己在服务器上部署 docker swarm,每次代码更新后,手动登陆服务器 pull 代码,并更新容器

    最终我选择了方案 2, 所以我想来问问, 对于方案 2,有没有什么开源的项目,能加速 /自动化 这个流程 ?

    谢谢大家

    12 条回复    2019-08-15 08:07:53 +08:00
    kkkkkrua
        1
    kkkkkrua  
       2019-08-14 15:58:04 +08:00   1
    在服务器开个地址,然后在项目上面绑定 webhooks 不可以吗
    baojiwei
        2
    baojiwei  
       2019-08-14 15:59:50 +08:00 via Android   2
    gitlab cicd
    find456789
        3
    find456789  
    OP
       2019-08-14 16:00:19 +08:00
    @kkkkkrua

    你好,我没有明白你的意思, 能否给个关键词,我去研究一下 ,谢谢
    find456789
        4
    find456789  
    OP
       2019-08-14 16:02:10 +08:00
    @baojiwei

    谢谢 我研究一下
    kkkkkrua
        5
    kkkkkrua  
       2019-08-14 16:02:43 +08:00   1
    @find456789 #3
    按照你 2 所说,你自己服务器应该有个 ci/cd 工具把。
    然后在 github 仓库上新建个 webhooks,然后访问到你的 ci/cd 工具,自动打包运行你的项目
    关键词 gitlab webhooks
    ww2000e
        6
    ww2000e  
       2019-08-14 16:04:52 +08:00   1
    drone?
    find456789
        7
    find456789  
    OP
       2019-08-14 16:09:40 +08:00
    @ww2000e
    @kkkkkrua

    谢谢,我研究一下
    NizumaEiji
        8
    NizumaEiji  
       2019-08-14 16:09:58 +08:00   1
    git 钩子?
    SilencerL
        9
    SilencerL  
       2019-08-14 16:10:12 +08:00   1
    Jenkins
    docker-compose
    swarm
    anubu
        10
    anubu  
       2019-08-14 16:45:12 +08:00   1
    看上去楼主没有配套的 CI/CD 工具,如果项目比较少的话,搭一套 Jenkins 有些浪费。可以试着简单的解决一下。
    基本上要考虑两个问题:
    1. 自动构建,大部分公共 registry 都支持 Webhook 自动构建的,了解一下就可以解决这个问题。
    2. 自动部署,可以使用一些开源项目,如 watchtower、ouroboros,自动更新镜像。
    thet
        11
    thet  
       2019-08-14 17:10:05 +08:00   1
    基本上如 #10 说的,你需要有配套的 CI/CD 工具。如果使用 Jenkins 构建的话,可以看一下我之前写的插件,构建完成之后可以自动部署到 docker swarm 集群。https://github.com/kaoyaya/kyy-container-deploy-plugin
    liuzhaowei55
        12
    liuzhaowei55  
       2019-08-15 08:07:53 +08:00 via Android
    portainer.io 管理 swarm 环境即可,service 支持 webhook 更新功能
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3317 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:04 PVG 19:04 LAX 04:04 JFK 07:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86