小弟之前用的阿里云的 docker swarm 服务,
他们的 swarm 服务,可以绑定 git 仓库,当我推送代码到 git 代码库,他就会自动拉取新代码,并构建一个容器,然后部署到机器上
但是现在他们要下线这个服务了
我只有一台 ecs,暂时也不打算购买阿里云的 k8s
所以我现在的可选方案是:
1.使用阿里云的 k8s (必须要购买阿里云的负载均衡和 ingress,决定放弃这个方案)
2.自己在服务器上部署 docker swarm,每次代码更新后,手动登陆服务器 pull 代码,并更新容器
最终我选择了方案 2, 所以我想来问问, 对于方案 2,有没有什么开源的项目,能加速 /自动化 这个流程 ?
谢谢大家
1
kkkkkrua 2019-08-14 15:58:04 +08:00 1
在服务器开个地址,然后在项目上面绑定 webhooks 不可以吗
|
2
baojiwei 2019-08-14 15:59:50 +08:00 via Android 2
gitlab cicd
|
3
find456789 OP |
4
find456789 OP |
5
kkkkkrua 2019-08-14 16:02:43 +08:00 1
@find456789 #3
按照你 2 所说,你自己服务器应该有个 ci/cd 工具把。 然后在 github 仓库上新建个 webhooks,然后访问到你的 ci/cd 工具,自动打包运行你的项目 关键词 gitlab webhooks |
6
ww2000e 2019-08-14 16:04:52 +08:00 1
drone?
|
7
find456789 OP |
8
NizumaEiji 2019-08-14 16:09:58 +08:00 1
git 钩子?
|
9
SilencerL 2019-08-14 16:10:12 +08:00 1
Jenkins
docker-compose swarm |
10
anubu 2019-08-14 16:45:12 +08:00 1
看上去楼主没有配套的 CI/CD 工具,如果项目比较少的话,搭一套 Jenkins 有些浪费。可以试着简单的解决一下。
基本上要考虑两个问题: 1. 自动构建,大部分公共 registry 都支持 Webhook 自动构建的,了解一下就可以解决这个问题。 2. 自动部署,可以使用一些开源项目,如 watchtower、ouroboros,自动更新镜像。 |
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
|
12
liuzhaowei55 2019-08-15 08:07:53 +08:00 via Android
用 portainer.io 管理 swarm 环境即可,service 支持 webhook 更新功能
|