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

2019-08-14 15:50:16 +08:00
 find456789

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

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

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

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

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

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

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

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

谢谢大家

2194 次点击
所在节点    问与答
12 条回复
kkkkkrua
2019-08-14 15:58:04 +08:00
在服务器开个地址,然后在项目上面绑定 webhooks 不可以吗
baojiwei
2019-08-14 15:59:50 +08:00
gitlab cicd
find456789
2019-08-14 16:00:19 +08:00
@kkkkkrua

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

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

谢谢,我研究一下
NizumaEiji
2019-08-14 16:09:58 +08:00
git 钩子?
SilencerL
2019-08-14 16:10:12 +08:00
Jenkins
docker-compose
swarm
anubu
2019-08-14 16:45:12 +08:00
看上去楼主没有配套的 CI/CD 工具,如果项目比较少的话,搭一套 Jenkins 有些浪费。可以试着简单的解决一下。
基本上要考虑两个问题:
1. 自动构建,大部分公共 registry 都支持 Webhook 自动构建的,了解一下就可以解决这个问题。
2. 自动部署,可以使用一些开源项目,如 watchtower、ouroboros,自动更新镜像。
thet
2019-08-14 17:10:05 +08:00
基本上如 #10 说的,你需要有配套的 CI/CD 工具。如果使用 Jenkins 构建的话,可以看一下我之前写的插件,构建完成之后可以自动部署到 docker swarm 集群。https://github.com/kaoyaya/kyy-container-deploy-plugin
liuzhaowei55
2019-08-15 08:07:53 +08:00
portainer.io 管理 swarm 环境即可,service 支持 webhook 更新功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/591846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX