最近公司上级给的一个任务就是去了解研究一下微服务容器化,我自己理解的就是 docker+k8s 。 问了度娘,感觉领导的意思应该就是 CI/CD,网上给的方案是 gitlab + jenkins + docker + k8s, 我这里想问一下还有没有其他在生产环境中用得较多的方案
1 Gwzlchn 2021-02-01 16:34:58 +08:00 ![]() 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 ![]() 不是大厂项目的话 其实自己写个更新程序也不难 把项目代码托管到 码云、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 Continer Registry - > DevOps Realease -> Azure K8S Service |
![]() | 22 KuroNekoFan 2021-02-01 22:23:19 +08:00 via iPhone 差不多 Jenkins 的权限管理麻烦一点 |
23 riccox 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 |