V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
find456789
V2EX  ›  问与答

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

  •  
  •   find456789 · Aug 14, 2019 · 2845 views
    This topic created in 2458 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

    谢谢大家

    12 replies    2019-08-15 08:07:53 +08:00
    kkkkkrua
        1
    kkkkkrua  
       Aug 14, 2019   ❤️ 1
    在服务器开个地址,然后在项目上面绑定 webhooks 不可以吗
    baojiwei
        2
    baojiwei  
       Aug 14, 2019 via Android   ❤️ 2
    gitlab cicd
    find456789
        3
    find456789  
    OP
       Aug 14, 2019
    @kkkkkrua

    你好,我没有明白你的意思, 能否给个关键词,我去研究一下 ,谢谢
    find456789
        4
    find456789  
    OP
       Aug 14, 2019
    @baojiwei

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

    谢谢,我研究一下
    NizumaEiji
        8
    NizumaEiji  
       Aug 14, 2019   ❤️ 1
    git 钩子?
    SilencerL
        9
    SilencerL  
       Aug 14, 2019   ❤️ 1
    Jenkins
    docker-compose
    swarm
    anubu
        10
    anubu  
       Aug 14, 2019   ❤️ 1
    看上去楼主没有配套的 CI/CD 工具,如果项目比较少的话,搭一套 Jenkins 有些浪费。可以试着简单的解决一下。
    基本上要考虑两个问题:
    1. 自动构建,大部分公共 registry 都支持 Webhook 自动构建的,了解一下就可以解决这个问题。
    2. 自动部署,可以使用一些开源项目,如 watchtower、ouroboros,自动更新镜像。
    thet
        11
    thet  
       Aug 14, 2019   ❤️ 1
    基本上如 #10 说的,你需要有配套的 CI/CD 工具。如果使用 Jenkins 构建的话,可以看一下我之前写的插件,构建完成之后可以自动部署到 docker swarm 集群。https://github.com/kaoyaya/kyy-container-deploy-plugin
    liuzhaowei55
        12
    liuzhaowei55  
       Aug 15, 2019 via Android
    portainer.io 管理 swarm 环境即可,service 支持 webhook 更新功能
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2926 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 15:27 · PVG 23:27 · LAX 08:27 · JFK 11:27
    ♥ Do have faith in what you're doing.