关于devops:jenkinsk8s的CICD流程设计

40次阅读

共计 1095 个字符,预计需要花费 3 分钟才能阅读完成。

前言

在 jenkins 的根底上,设计 CICD 流程。具体流程如下:

  1. 拉取代码
  2. 代码扫描
  3. 构建镜像并推送到仓库
  4. 部署到 k8s
  5. 音讯告诉

一、流程阐明

1.1 环境阐明

两套 k8s 环境,分为开发测试环境(dev)和生产环境(pro),同时,镜像仓库也分为两套。两套环境都能连贯上 git 和 jenkins。
注:dev 和 pro 需在物理上进行隔离。

1.2 流程

需创立两条流水线:
dev 流水线:研发编码实现后,将代码提交到仓库,触发构建流程,先进行代码扫描,再生成镜像并推送到 dev 仓库,主动部署到开发测试环境。
所有功能测试验证通过后。
pro 流水线:运维手动触发流水线,将 dev 仓库的镜像推送到 pro 仓库,部署到线上环境。
注:上线前需思考预公布,比方蓝绿部署,金丝雀部署等,后续再进行欠缺。

二、代码构造

创立一个新工程,以单体 flask 利用为例,须要蕴含以下文件。
├── Dockerfile # 镜像构建文件
├── deploy
│   ├── dev # dev 环境部署文件
│   └── pro # pro 环境部署文件
└── tests

三、jenkins 配置

3.1 装置

通过 docker 装置,将数据目录挂载到本地门路。

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/opt/jenkins_data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean

3.2 装置 plugins

进入【系统管理】-【插件治理】,装置以下组件。
docker-build-step
SonarQube Scanner for Jenkins
Kubernetes Continuous Deploy Plugin

3.3 配置凭据

3.3.1 github

进入【凭据】-【零碎】-【全局凭据】,点击【增加凭据】,抉择类型【Username with password】。

注:以后采纳账号密码的模式,倡议采纳 token 的形式来配置 github 的凭据。

3.3.2 harbor

3.3.3 sonarqube

生成 sonarqube 的 token。

增加【secret text】凭据。

3.3.4 k8s
3.3.5 音讯推送

四、流水线

4.1 dev 流水线

dev 流水线的流程如下:代码拉取 - 代码扫描 - 镜像构建及推送 - 部署

登录 jenkins,【新建工作】,抉择【构建一个自在格调的软件我的项目】。

4.1.1 代码拉取

点击【源码治理】,抉择 git,填入仓库地址,抉择 GitHub 的凭证。默认分支为 master,批改为以后开发的分支。

4.2 pro 流水线

镜像降级 - 部署

五、FAQ

1.

正文完
 0