jenkinsk8s的CICD流程设计
Posted 这杯可乐有点甜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkinsk8s的CICD流程设计相关的知识,希望对你有一定的参考价值。
前言
在jenkins的基础上,设计CICD流程。具体流程如下:
- 拉取代码
- 代码扫描
- 构建镜像并推送到仓库
- 部署到k8s
- 消息通知
一、流程说明
1.1 环境说明
两套k8s环境,分为开发测试环境(dev)和生产环境(pro),同时,镜像仓库也分为两套。两套环境都能连接上git和jenkins。
注:dev和pro需在物理上进行隔离。
1.2 流程
需创建两条流水线:
dev流水线:研发编码完成后,将代码提交到仓库,触发构建流程,先进行代码扫描,再生成镜像并推送到dev仓库,自动部署到开发测试环境。
所有功能测试验证通过后。
pro流水线:运维手动触发流水线,将dev仓库的镜像推送到pro仓库,部署到线上环境。
注:上线前需考虑预发布,比如蓝绿部署,金丝雀部署等,后续再进行完善。
二、项目结构
创建一个新工程,以单体flask应用为例,需要包含以下文件。
├── Dockerfile # 镜像构建文件
├── deploy
│ ├── dev # dev环境部署文件
│ └── pro # pro环境部署文件
└── tests
三、kubesphere权限管理
在k8s上安装kubesphere,用于权限管理。
层次分为 企业空间--项目
五、FAQ
1.每次流水线都需要重新创建jenkins agent,比较慢。
以上是关于jenkinsk8s的CICD流程设计的主要内容,如果未能解决你的问题,请参考以下文章
Docker最全教程之使用TeamCity来完成内部CICD流程(十六)