最近公司上级给的一个任务就是去了解研究一下微服务容器化,我自己理解的就是 docker+k8s 。 问了度娘,感觉领导的意思应该就是 CI/CD,网上给的方案是 gitlab + jenkins + docker + k8s, 我这里想问一下还有没有其他在生产环境中用得较多的方案
1
Gwzlchn 2021-02-01 16:34:58 +08:00 2
gitlab ci 就够了,不用 jenkins 也行。
|
2
yukong 2021-02-01 16:35:05 +08:00
gitlab + k8s 结束了啊
或者 jenkins + k8s |
3
intmax2147483647 2021-02-01 17:20:11 +08:00
付费方案:BuildKite+AWS 套件
|
4
retanoj 2021-02-01 17:21:29 +08:00
微服务和 CI/CD 的确是两个事情
|
5
mitsuizzz 2021-02-01 17:21:41 +08:00
gitlab 有自己的 cicd 也挺好用的
|
6
YzSama 2021-02-01 18:16:26 +08:00 via iPhone
gitlab cicd 完美
|
7
bthulu 2021-02-01 18:17:16 +08:00
gitlab 是好用是要钱的
|
8
agoodob 2021-02-01 18:23:24 +08:00
我司(具体名字不说了)
生产环境部署在 AWS 中国区(就俩区,北京和宁夏)东西都在北京区。 CI/CD 我们是: Github -> AWS Codebuild -> AWS ECR -> AWS ECS Github 是存代码 Codebuild 唯一的用途就是把代码打包成一个 Docker Image AWS ECR 是存这个镜像 ECS 等同于 k8s |
9
simonlu9 2021-02-01 18:25:19 +08:00
刚搭完 docker 自动化部署,teamcity 满足你一切
|
10
RedBeanIce 2021-02-01 18:33:41 +08:00
|
11
Luufery 2021-02-01 19:00:40 +08:00 via Android
ci 直接用 gitlab 吧,teamcity 不好用,Jenkins 太古老了。cd 建议自研
|
12
liuxu 2021-02-01 19:01:23 +08:00
公司的项目用的 gitlab + gitlab runner + docker-compose
我自己的项目用的 github + github actions + k3s + helm 目前建议用我项目的方案,我也准备给公司的项目迁移一下 |
14
chendy 2021-02-01 19:03:27 +08:00
gitlab ci + k8s
|
15
chogath 2021-02-01 19:24:40 +08:00
阿里云云效
|
17
YouLMAO 2021-02-01 20:38:07 +08:00
1.微服务+2.容器一般是 k8s+docker
跟 CI/CD 没有一毛钱关系 |
18
soulmt 2021-02-01 20:49:00 +08:00
容器化是容器化,自动部署是自动部署, 容器化方案 docker+k8s 这玩意你想怎么部署都可以 可以用 jenkins 哪怕自己写 shell 脚本都可以,或者你说的 ci/cd 自动部署,是 2 块功能哦
|
19
kaka6 2021-02-01 20:53:46 +08:00 1
不是大厂项目的话
其实自己写个更新程序也不难 把项目代码托管到 码云、Coding 或 gitHub 然后利用 webhook,调用自己的部署程序 自己的部署程序其实也简单,在生产部署机子上部署个 flask web 程序,几行 python 代码: 1 、os.chdir(todo_path) # 移动到项目目录下 2 、pull_result = os.popen("git pull ") # 拉取最新代码 3 、build_result = os.popen( f"sudo docker build -t {name}:{tag} .") #重新编译新镜像 4 、stop_result = os.popen( f"docker stop {container_name} && docker rm {container_name}") # 停止并删除旧版容器 5 、run_result = os.popen( f"docker run --name {container_name} -d --restart=always {name}:{tag}") # 启动运行新镜像,更新完成 |
20
tilv37 2021-02-01 21:17:43 +08:00
Ci/CD 的话,目前公司的项目是放在微软的 Azure 上的。然后用的 Azure DevOps
一般是: 代码托管( azure devops repo )->DevOps Pipeline -> DevOps Realease ->Azure Container Registry - > Azure K8S Service |
21
tilv37 2021-02-01 21:18:23 +08:00
@tilv37
顺序错了 代码托管( azure devops repo )->DevOps Pipeline -> Azure Container Registry - > DevOps Realease -> Azure K8S Service |
22
KuroNekoFan 2021-02-01 22:23:19 +08:00 via iPhone
差不多
Jenkins 的权限管理麻烦一点 |
23
lrvinye 2021-02-01 22:33:24 +08:00
Coding 的用着不错
|
24
mumubin 2021-02-01 22:49:27 +08:00
harness
|
25
danieladu 2021-02-01 23:06:10 +08:00 via Android
azure pipeline
|
26
calmzhu 2021-02-02 00:05:54 +08:00 via Android
量不大差别不大。
超过 1000 个,还是 jenkins 省事 |
27
SkyLine7 2021-02-02 09:38:36 +08:00
jenkins
|
28
yupozhang 2021-02-02 11:27:46 +08:00
发布部署 以及其他运维常见管理,可以了解一下这个开源运维平台项目: https://github.com/openspug/spug
|
29
smilingsun 2021-02-02 11:39:22 +08:00
了解一下 GitOps,简洁的是 FluxCD,强大的选 ArgoCD
|
30
bluefalconjun 2021-02-02 13:41:43 +08:00
其实我也在一直找对应方案. 而且后面想加上一个方便的自动化测试流程.
1. gerrit + jenkins 做编译检查已经有了. 2. 缺对产出进行嵌入式设备上的自动化测试流程. 看了下 各大厂好像都是自研流程. 商业化的不多. 求指导.... |
31
676529483 2021-02-02 14:44:22 +08:00
CI 我司用的 Jenkins,但个人感觉 drone 比较好用。CD 直接 k8s,自研平台掉 APIServer
|
32
amundsen 2021-02-02 15:42:27 +08:00
gitlab + k8s (公司从 docker 迁移到 k8s 的)
|
33
jerray 2021-02-02 16:49:26 +08:00
没有 CI/CD 也能容器化,主要是先容器化。
我们最开始容器化的时候,项目负责人执行命令在本地构建和上传镜像。后来用得比较成熟了才部署了 CI 。代码仓库如果是 GitLab 的话,直接用 GitLab CI/CD 。GitHub 就考虑 GitHub Actions 。Drone.io 也可以考虑,本身就是容器化部署,特别方便。 |
34
hantsy 2021-02-02 20:47:35 +08:00
|
35
hantsy 2021-02-02 20:50:54 +08:00
我这个例子配置了比较常见的 CI (大部分现代 CI 云服务,CICD 都是一体的),我选择了 8 个,还有配置其他,代码质量,测试 Coverage,等。
|
36
moxiaowei 2021-02-04 08:52:45 +08:00
k8s+jenkins,使用 kubesphere 可视化操作 很爽的
|
37
thinkmore 2021-02-04 10:42:37 +08:00
springboot + harbor + drone + k8s + kustomize
|