k8s 个人笔记-core05-部署CICD

 CICD

k8s 个人笔记-core05-部署CICD_第1张图片

1、准备

  • git --version
  • java -version
  • mvn -version
  • 下载网站   https://jenkins.io/zh/

k8s 个人笔记-core05-部署CICD_第2张图片

查看日志输出,保存启动密码

tail -f nohup.out

2、登录页面 localhost:8080

3、选第一个自动安装插件

4、在弹出的窗口设置账号

5、创建一个流水线job

k8s 个人笔记-core05-部署CICD_第3张图片

6、编写 拉取项目代码,点击构建测试

k8s 个人笔记-core05-部署CICD_第4张图片

7、点击config 继续配置 maven 打包

k8s 个人笔记-core05-部署CICD_第5张图片

8、配置 构建项目镜像

镜像 #!/bin/bash

8.1定义一个环境变量

k8s 个人笔记-core05-部署CICD_第6张图片

8.2 定义保存路径变量 DOCKER_DIR

  • 判断BUILD_DIR 是否存在
  • JOB_NAME 是默认变量,代表上面jenkins创建的job名称
  • 判断 DOCKER_DIR是否存在

k8s 个人笔记-core05-部署CICD_第7张图片

8.3 定义项目名 变量

k8s 个人笔记-core05-部署CICD_第8张图片

  •  WORKSPACE 代表工作空间 就是指上面 build 存储位置
  • 判断 JENKINS_DIR 下的包是否存在
  • cd 到需要保存镜像的位置
  • 清空内容
  • 解压需要制作镜像的内容

k8s 个人笔记-core05-部署CICD_第9张图片

8.3把编写好的dockerFile 移进来 (这个是在 java 项目内自己编写)

Dockerfils 代表dockerfile 依赖的一些文件

k8s 个人笔记-core05-部署CICD_第10张图片

 8.4 打镜像,并上传本地库

  • VERSION 根据年月日,时分秒创建版本号
  • 这里有把镜像名字写在 image这个脚本里,下面使用时作为变量名

k8s 个人笔记-core05-部署CICD_第11张图片

 8.5 给定义好的脚步添加执行权限 ,记得docker login 一下(登录自己的镜像厂库)

9 使用ingress 发布

k8s 个人笔记-core05-部署CICD_第12张图片

9.1 创建模版路径

k8s 个人笔记-core05-部署CICD_第13张图片

替换命令 : 所有的web-demo  都替换成 {{name}} 

k8s 个人笔记-core05-部署CICD_第14张图片

deplay 模版

k8s 个人笔记-core05-部署CICD_第15张图片

service 模版

k8s 个人笔记-core05-部署CICD_第16张图片

ingress 模版

k8s 个人笔记-core05-部署CICD_第17张图片

9.2 编写deplay.yaml

定义访问的域名 变量

定义变量名,用于替换脚本

k8s 个人笔记-core05-部署CICD_第18张图片

  • 拷贝模版文件到当前路径下
  • 替换模版文件指定变量名
  • 使用kubetl 启动本项目
  • 输出配置文件(打log)

k8s 个人笔记-core05-部署CICD_第19张图片

 指定配置,让系统不把配置的80 看成系统的80端口

拷贝master 的 kube/config 到worker 服务器

构建后,查询开启的项目

查询指定项目具体信息

10、健康检查

查看是否能拿到这4个值,最后面少写了一个 ‘

k8s 个人笔记-core05-部署CICD_第20张图片

  • count 检测60次,超过60次视为过期
  • IFS 下面转化数组的分隔符
  • replicas 获取健康检测的4个参数
  • arr 4个参数转换成数组
  • 判断4个参数是否全相等 (相等检测通过)
  •  

 

k8s 个人笔记-core05-部署CICD_第21张图片

k8s 个人笔记-core05-部署CICD_第22张图片

添加等待时间5秒,应为上一步才执行 apply 不会立即就有执行通过

k8s 个人笔记-core05-部署CICD_第23张图片

 

 

 

你可能感兴趣的:(k8s)