自动化发布构建
2020-03-08 14:25:29 0 举报
jenkins自动化构建K8S部署
作者其他创作
大纲/内容
docker 镜像- docker build 打包镜像 - 镜像内服务结构不变
nginx
Jenkins Serverpipeline
POD
svn
K8S apply
containerao1
发布服务
测试
编排流程
build.sh
代码提交
...
K8S
ingress
服务调用者
1. 发布权限控制2. 发布配置 - 待构建服务的svn版本 - 外部依赖的svn版本 - 容器 & k8s 相关配置(借鉴java)3. 发布流水记录
PUSH镜像仓库地址:固定/可配
替代方案
SITE管理后台发布Portal
docker
创建pod
微服务1. 维护 yaml2. 打包 docker 镜像3. 负责调用 k8s 执行发布
构建、发布系统
查询发布日志
发布
生产
Docker镜像仓库
deploy.sh
研发人员
拉取镜像
接入平台方案一:1. 发布portal 由平台代为开发 (复用发布策略,权限,流水)2. 编译环境准备,部署在平台的jenkins服务器3. 编译,打包,发布 流水线编排 - 脚本插件的方式提供 - 微服务 方式提供接入平台方案二: 1. 发布portal 由平台代为开发 (复用发布策略,权限,流水)2. 编译环境准备,部署在平台的jenkins服务器3. 编译,打包 (不发布)4. 独立的发布流程 - 基于 step.3 生成的docker镜像,类似现在用的 \"打包机 + rpm发布系统\" - 可以查看所有镜像版本 - 新配置指定版本镜像,进行k8s部署面临问题:自动化构建需要依赖 代码仓库:svn的版本号,发布时,需要依赖研发人员手工配置相应依赖的代码版本号;方案三: 改造目前在用的 RPM系统 - 由 现有的 rpmbuild 打包 业务so生成 rpm包,同步rpm仓库,进而管理rpm包的方式 改为 docker build 打包 业务so生成 docker镜像,同步镜像仓库,维护系统镜像; - 发布时,根据镜像版本生成配置,进行k8s发布;
开发
代码静态检查
异步 生成job (项目名,repo版本)
拉取代码更新至本地/var/jenkins/xxx/workspace/
0 条评论
下一页