DevOps/GitOps经验总结
/ 2 min read
Updated:Table of Contents
我主要基于Coding平台,实际上这个类似Jenkins,但是相对简单,以Java前后端为例
在我的想法中,DevOps分为CI/CD,CI包括Git Repos和编译流程,CD包括制品库,服务器部署
CI
Git Repos
工作协同,通过监控Master分支,遇推送触发编译
编译测试流程
编写配置文件Jenkins和Maven,编译服务器拉取,编译,测试,项目成品打包推送到制品库
CD
制品库
存储项目部署文件和版本信息,推送后触发部署流程
服务器部署
后端封装成Jar后,直接编写脚本做服务运行即可 前端例如Vue,编译后建议通过DockerFile通过Nginx镜像产出前端镜像,再由Docker部署 后端也可做镜像,或者通过多机器部署的方式,设置负载均衡 Web中间件可以用Caddy,Nginx Proxy Manger简单设置一下 DNS用Cloudflare,Dnspod可分线路加速(比如指向不同服务器,配置端口转发) TLS证书中间件可自动化签发,CDN可配合DNSPOD或Cloudflare全局使用 数据库可分服务器放置,组内网,或者直接Docker镜像运行 若一套流程走完,所有配置,可用Docker-Compose等
自运营
自运营平台
Git工作流可用Gitea,持续集成和部署可用drone.io,Jenkins也可
无服务器方案
可用Serverless(Vercel、netlify)方案也可,Github Actions方案也可