Offer

黑马-Jenkins篇

整个项目流程和我目前公司部署类似,专门来学Jenkins-Pipeline语法的,jenkins安装啥的以后需要了再补充吧。

参考链接:https://www.bilibili.com/video/BV1kJ411p7mV?p=92&vd_source=510ec700814c4e5dc4c4fda8f06c10e8

csdn csdn csdn csdn csdn


🔥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 整合流程

image-20220822154622719

1.3 Docker

1.3.1 DockerFile基本命令

image-20220824102234555

1.3.2 Docker-个人项目
  1. 编写Dockerfile,上传个人项目jar包

    1. #利用jdk启动外部入参传入的参数,打包启动app.jar
      FROM openjdk:8-jdk-alpine
      ARG JAR_FILE
      COPY ${JAR_FILE} app.jar
      EXPOSE 8081
      ENTRYPOINT ["java","-jar","/app.jar"]
      
  2. 把上面命令打包成一个个人镜像

    1. #传入项目jarz包名,打包成一个镜像,dockerfile文件从当前目录找
      docker build --build-arg JAR_FILE=mybatisplus-0.0.1-SNAPSHOT.jar -t mybatisplus:v1 .
      
  3. 创建镜像并启动

    1. 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拉取镜像,删除原始镜像原始容器并构建容器启动。

image-20220824105215696

posted @ 2022-08-27 16:29  Empirefree  阅读(115)  评论(0编辑  收藏  举报