技术大佬们, CI/CD(持续集成/持续发布)的方案有哪些
最近公司上级给的一个任务就是去了解研究一下微服务容器化,我自己理解的就是 docker+k8s 。 问了度娘,感觉领导的意思应该就是 CI/CD,网上给的方案是 gitlab + jenkins + docker + k8s, 我这里想问一下还有没有其他在生产环境中用得较多的方案
非常感谢各位的发表的评论,每一条评论我都看了,受教了。确实没有把微服务容器化和 CICD 区分开来。根据公司的情况,我现在对于微服务容器化想的是一个比较简单的方案来尝试一下,利用 docker 来部署,用 docker-compose 来简单编排 docker 容器。至于 k8s,等学习了再来干。 ----------------------- 以下是精选回复-----------------------
答:gitlab ci 就够了,不用 jenkins 也行。
答:gitlab + k8s 结束了啊
或者 jenkins + k8s
答:付费方案:BuildKite+AWS 套件
答:微服务和 CI/CD 的确是两个事情
答:gitlab 有自己的 cicd 也挺好用的
答:gitlab cicd 完美
答:gitlab 是好用是要钱的
答:我司(具体名字不说了)
生产环境部署在 AWS 中国区(就俩区,北京和宁夏)东西都在北京区。
CI/CD 我们是:
Github -> AWS Codebuild -> AWS ECR -> AWS ECS
Github 是存代码
Codebuild 唯一的用途就是把代码打包成一个 Docker Image
AWS ECR 是存这个镜像
ECS 等同于 k8s
答:刚搭完 docker 自动化部署,teamcity 满足你一切
答:https://www.v2ex.com/t/697341#reply53
答:ci 直接用 gitlab 吧,teamcity 不好用,Jenkins 太古老了。cd 建议自研
答:公司的项目用的 gitlab + gitlab runner + docker-compose
我自己的项目用的 github + github actions + k3s + helm
目前建议用我项目的方案,我也准备给公司的项目迁移一下
答:gitlab ci + k8s
答:阿里云云效
答:可以尝试下开源的 drone.io ,目前在用,还是挺方便的
答:1.微服务+2.容器一般是 k8s+docker
跟 CI/CD 没有一毛钱关系
答:容器化是容器化,自动部署是自动部署, 容器化方案 docker+k8s 这玩意你想怎么部署都可以 可以用 jenkins 哪怕自己写 shell 脚本都可以,或者你说的 ci/cd 自动部署,是 2 块功能哦
答:不是大厂项目的话
其实自己写个更新程序也不难
把项目代码托管到 码云、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}") # 启动运行新镜像,更新完成
答:Ci/CD 的话,目前公司的项目是放在微软的 Azure 上的。然后用的 Azure DevOps
一般是:
代码托管( azure devops repo )->DevOps Pipeline -> DevOps Realease ->Azure Container Registry - > Azure K8S Service
答:差不多
Jenkins 的权限管理麻烦一点
答:Coding 的用着不错
答:harness
答:azure pipeline
答:量不大差别不大。
超过 1000 个,还是 jenkins 省事
答:jenkins
答:发布部署 以及其他运维常见管理,可以了解一下这个开源运维平台项目: https://github.com/openspug/spug
答:了解一下 GitOps,简洁的是 FluxCD,强大的选 ArgoCD
答:其实我也在一直找对应方案. 而且后面想加上一个方便的自动化测试流程.
1. gerrit + jenkins 做编译检查已经有了.
2. 缺对产出进行嵌入式设备上的自动化测试流程.
看了下 各大厂好像都是自研流程. 商业化的不多. 求指导....
答:CI 我司用的 Jenkins,但个人感觉 drone 比较好用。CD 直接 k8s,自研平台掉 APIServer
答:gitlab + k8s (公司从 docker 迁移到 k8s 的)
答:没有 CI/CD 也能容器化,主要是先容器化。
我们最开始容器化的时候,项目负责人执行命令在本地构建和上传镜像。后来用得比较成熟了才部署了 CI 。代码仓库如果是 GitLab 的话,直接用 GitLab CI/CD 。GitHub 就考虑 GitHub Actions 。Drone.io 也可以考虑,本身就是容器化部署,特别方便。
答:太多了。
https://github.com/hantsy/spring-reactive-jwt-sample
答:我这个例子配置了比较常见的 CI (大部分现代 CI 云服务,CICD 都是一体的),我选择了 8 个,还有配置其他,代码质量,测试 Coverage,等。
答:k8s+jenkins,使用 kubesphere 可视化操作 很爽的
答:springboot + harbor + drone + k8s + kustomize
0条评论