整个项目流程和我目前公司部署类似,专门来学Jenkins-Pipeline语法的,jenkins安装啥的以后需要了再补充吧。
参考链接:https://www.bilibili.com/video/BV1kJ411p7mV?p=92&vd_source=510ec700814c4e5dc4c4fda8f06c10e8
pipeline是groovy语言开发,用于构建jenkins发布流程,一般放在项目目录下,也可以放在jenkins网站里。一般用声明式pipeline(语法是stages),也有脚本式pipeline(语法是node)
可以利用jenkins网站里面的触发器来保证项目顺序打包构建:A必须比先快。也可以定时保证项目的构建
(sonar酷ben)代码审查工具(感慨,2年前原公司用的软件,没想到现在又遇到了)
参考博客:http://static.kancloud.cn/guanfuchang/sonar/908140
查看mysql容器IP:


编写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
用于管理上面的Docker镜像
1. 开发提交代码到Gitlab中
2. Jenkins网站配置拉取代码地址、项目目录下的jenkins脚本。
1. 当在jenkins构建时,就会使用jenkins脚本构建镜像并推送到Harbor镜像仓库
2. jenkins构建的时候,也可以顺便把项目推送给SonarQube进行代码审查(sonar文件、dockerfile文件、jenkins文件都可以放在项目目录下,代码使用dockerFile插件也可以代替jenkins中写的docker打包命令,但是dockerFile文件依然要有。jenkins脚本中自定义变量来自deploy.yml或者系统环境变量)
3. 后面由运维从Harbor拉取镜像,删除原始镜像原始容器并构建容器启动。
