黑马-Jenkins篇
整个项目流程和我目前公司部署类似,专门来学Jenkins-Pipeline语法的,jenkins安装啥的以后需要了再补充吧。
参考链接:https://www.bilibili.com/video/BV1kJ411p7mV?p=92&vd_source=510ec700814c4e5dc4c4fda8f06c10e8
目录
🔥1. 基本概念
1.1. Pipeline
1.1.1 基本简介
pipeline是groovy语言开发,用于构建jenkins发布流程,一般放在项目目录下,也可以放在jenkins网站里。一般用声明式pipeline(语法是stages),也有脚本式pipeline(语法是node)
1.1.2 构建触发器
可以利用jenkins网站里面的触发器来保证项目顺序打包构建:A必须比先快。也可以定时保证项目的构建
1.2 SonarQube
1.2.1 基本概念
(sonar酷ben)代码审查工具(感慨,2年前原公司用的软件,没想到现在又遇到了)
1.2.2 基本安装
1.2.3.1 安装流程
参考博客:http://static.kancloud.cn/guanfuchang/sonar/908140
查看mysql容器IP:
1.2.3 整合流程
1.3 Docker
1.3.1 DockerFile基本命令
1.3.2 Docker-个人项目
-
编写Dockerfile,上传个人项目jar包
-
#利用jdk启动外部入参传入的参数,打包启动app.jar FROM openjdk:8-jdk-alpine ARG JAR_FILE COPY ${JAR_FILE} app.jar EXPOSE 8081 ENTRYPOINT ["java","-jar","/app.jar"]
-
-
把上面命令打包成一个个人镜像
-
#传入项目jarz包名,打包成一个镜像,dockerfile文件从当前目录找 docker build --build-arg JAR_FILE=mybatisplus-0.0.1-SNAPSHOT.jar -t mybatisplus:v1 .
-
-
创建镜像并启动
-
docker run -di -p 8081:8081 mybatisplus:v1
-
1.4 Habor
用于管理上面的Docker镜像
🔥2. 总体流程
2.1 流程描述
1. 开发提交代码到Gitlab中
2. Jenkins网站配置拉取代码地址、项目目录下的jenkins脚本。
1. 当在jenkins构建时,就会使用jenkins脚本构建镜像并推送到Harbor镜像仓库
2. jenkins构建的时候,也可以顺便把项目推送给SonarQube进行代码审查(sonar文件、dockerfile文件、jenkins文件都可以放在项目目录下,代码使用dockerFile插件也可以代替jenkins中写的docker打包命令,但是dockerFile文件依然要有。jenkins脚本中自定义变量来自deploy.yml或者系统环境变量)
3. 后面由运维从Harbor拉取镜像,删除原始镜像原始容器并构建容器启动。
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。