2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程

自动化部署springboot项目

0.简介

如果没有Linux基础请仔细看好每一个步骤,避免出错,从0到1带你搭建自动化部署环境,包括服务器安装,自动化部署所需各类软件安装配置,详细贴出每一步,不断步骤,让你一次搭建部署完成,希望这篇文章能给大家带来一定的帮助,话不多说开始整

1.自动化部署所需软件安装

1. jdk,分别为1.8和17,根据自身项目决定,如果项目已经使用17则可以只安装17
1.8是项目使用,17是Jenkins使用

2.git选择2.X

3.maven3.6

4.gitlab12.0.2

5.Jenkins选择2.389

6.服务器centos7

2.软件安装

2.0 CentOs安装

2.0.1 下载VM虚拟机

我直接电脑管家下载,也可以官网下载,懒的麻烦直接电脑管家下载,至于想永久免费使用,可以直接百度爸爸,这里不过多赘述,傻瓜式安装无限下一步即可
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第1张图片

2.0.2 下载CentOs镜像
直接阿里云下载: https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
直接选择最小化镜像: CentOS-7-x86_64-Minimal-2009.iso

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第2张图片

2.0.3 开始安装CentOs

打开VM软件
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第3张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第4张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第5张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第6张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第7张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第8张图片
在这里插入图片描述
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第9张图片
在这里插入图片描述
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第10张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第11张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第12张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第13张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第14张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第15张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第16张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第17张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第18张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第19张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第20张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第21张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第22张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第23张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第24张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第25张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第26张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第27张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第28张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第29张图片

安装三个软件
net-tools以及wget
yum install net-tools -y  方便使用ifconfig 查看服务器ip
yum install wget -y  方便后续直接wget下载软件
yum install vim -y 文本编辑器

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第30张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第31张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第32张图片

在这里插入图片描述
Linux连接工具,可以使用 xShell,我使用的是electerm

electerm下载地址: https://github.com/electerm/electerm/releases/tag/v1.25.41
 GitHub下载,对网络有一定要求
 下载完成傻瓜式安装,无限下一步即可

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第33张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第34张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第35张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第36张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第37张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第38张图片
至此服务器准备完毕

2.1 安装jdk

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第39张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第40张图片

配置jdk环境变量时,选择项目版本的jdk配置环境变量,注意jdk解压位置,路径别写错,更别写我的路径你的路径可能和我的不一样

1.下载jdk wget下载或直接下载ftps上传到服务器,此处直接下载后上传到服务器
没有安装wget直接使用 
yum install -y wget 安装确保服务器有网  wget 软件下载路径

2.解压jdk压缩包
创建一个目录存放jdk
mkdir /usr/local/java
将jdk解压到该目录
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/java/
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java/
进入jdk解压目录
cd /usr/local/java/
ll 指令查看当前目录下文件

3.配置环境变量,此处配置jdk8
vim /etc/profile

进入文件按 i 进入编辑模式

#文件末尾添加以下内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

编辑完按 esc 退出编辑模式 按 : 输入 wq  保存退出 

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第41张图片

4.从新读取profile文件
source /etc/profile

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第42张图片

2.2 安装git

0. 如果已安装git,此步骤可以直接跳过,如果想更换git版本也可以跟着一起从新安装
1.卸载git
yum remove git

2.安装依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y

3.下载git,wget默认将文件下载在当前所处目录,或者直接下载tar包sftp传入Linux
cd ~ 进入当前用户家目录或者  cd /root ,即/root目录,因为当前登陆用户是root
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.3.tar.gz --no-check-certificate

4.解压到当前目录
tar -zxvf git-2.9.3.tar.gz 

5.配置安装路径
 cd git-2.9.3
 
./configure prefix=/usr/local/git/

6.编译安装
make && make install

7.配置环境变量
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile

刷新配置
source /etc/profile

或者

vi /etc/profile

export PATH=$PATH:/usr/local/git/bin

source /etc/profile
 
8.查看git版本
git --version

9.初始化git信息,此处配置的邮箱都是后续gitlab用户的邮箱
git config --global user.name "xkcyyds"
git config --global user.email "[email protected]"

生成秘钥,直接一路回车即可
ssh-keygen -t rsa -C "[email protected]"

查看公钥
cat ~/.ssh/id_rsa.pub

2.3 安装maven

1.下载maven
wget https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz --no-check-certificate
该路径无效情况下可以直接去官网下载,或者拿到下载地址在服务器使用wget下载,目前我这个是有效的地址
--no-check-certificate用于去掉证书验证 因为https所以需要去掉

2.解压
创建目录
mkdir /usr/local/maven 存放maven
mkdir /usr/local/maven/repo 用于存放maven下载的依赖包
解压指定文件夹
tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/maven/

3.修改配置文件 设置本地仓库以及阿里云仓库以及指定jdk版本
vim /usr/local/maven/apache-maven-3.6.3/conf/settings.xml

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第43张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第44张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第45张图片

<localRepository>/usr/local/maven/repolocalRepository>

<mirror>
        <id>alimavenid>
        <mirrorOf>centralmirrorOf>
        <name>aliyun mavenname>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/url>
mirror>

<profile>
      <id>jdk-1.8id>
      <activation>
            <activeByDefault>trueactiveByDefault>
        <jdk>1.8jdk>
      activation>

      <properties>
        <maven.compiler.source>1.8maven.compiler.source>
            <maven.compiler.target>1.8maven.compiler.target>
            <maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion>
      properties>
profile>
4.配置maven环境变量
vim /etc/profile

文件最后添加如下内容
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH

5.刷新配置文件
source /etc/profile

查看maven版本,成功输出信息则maven环境变量配置成功
mvn --version

2.4 安装gitlab

1. 安装gitlab需要的组件
yum install -y curl policycoreutils openssh-server openssh-clients postfix policycoreutils-python

2. postfix启动邮件服务以及设置自启 根据需要选择是否开启 我没有开启 不开启可以跳到第三步
systemctl start postfix
systemctl enable postfix

当启动时报:
Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details.

2.1 先修改postfix中/etc/postfix/main.cf配置文件
inet_protocols = ipv4
inet_interfaces = all

postfix check 检测文件,检测报错则安装下面依赖

2.2 修改完毕后依然报错,此时需要安装依赖,MySQL5.5使用该方式,5.7使用下面的方式
wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

从新启动依然报错则是因为数据库版本问题,5.7MySQL自带libmysqlclient.so.20,而我们需要的是libmysqlclient.so.18

2.3 下载安装mysql依赖
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

rpm -ivh mysql-community

2.4再次启动可以成功

3. 下载gitlab
回到用户家目录 cd ~
下载软件
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.2-ce.0.el7.x86_64.rpm --no-check-certificate

不加--no-check-certificate 可能会导致下载失败

4. 本地yum安装
yum -y localinstall gitlab-ce-12.0.2-ce.0.el7.x86_64.rpm

5. 配置gitlab访问地址 http://192.168.56.137为你自身服务器ip, 查看ip指令 ifconfig
sed -i "/^external_url/cexternal_url 'http://192.168.56.137'" /etc/gitlab/gitlab.rb

6. 修改gitlab访问端口,默认端口可能其他服务占用,可以自己指定访问端口
vim /etc/gitlab/gitlab.rb
修改 nginx['listen_port'] = 6868 (指定端口)

重置:gitlab-ctl reconfigure 重置会有点慢,耐心等一下

重置以后该文件监听端口也会改变,未改变需要手动改变一下
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
listen *: 6868 (指定端口是上面的端口)

gitlab-ctl restart 重启

gitlab-ctl tail 指令可以查看gitlab启动信息

7.访问
关闭防火墙或者放行端口6868,为了方便此处直接关闭防火墙
阿里云服务器需要登陆管理界面添加规则放行6868端口,此处不做演示
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
ip:port
http://192.168.56.137:6868/

访问成功以后需要先设置密码
设置完密码后使用root账号加刚刚设置的密码登陆

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第46张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第47张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第48张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第49张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第50张图片

2.4.1 配置gitlab以及项目创建

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第51张图片
在这里插入图片描述
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第52张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第53张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第54张图片

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第55张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第56张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第57张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第58张图片

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第59张图片
进入目录后直接右键打开git bash界面
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第60张图片

拉取仓库,注意地址后一定跟上端口否则拉取不了
git clone http://192.168.56.137:6868/root/demo.git

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第61张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第62张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第63张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第64张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第65张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第66张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第67张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第68张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第69张图片

8. 配置邮件报警 可以不配置 根据情况自己选择 我没有配置,需要配置的需要进行步骤2操作
vim /etc/gitlab/gitlab.rb  57行以后

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.qq.com'
# SMTP 服务器
gitlab_rails['smtp_port'] = 465 
# SMTP 服务器端口号
gitlab_rails['smtp_user_name'] = '[email protected]'
# 邮件账号
gitlab_rails['smtp_password'] = '' 
# 邮件授权码
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'
阿里云服务器访问gitlab的502问题,阿里云服务器默认开启交换分区
开启交换分区即可

dd if=/dev/zero of=/mnt/swap bs=512 count=8388616

mkswap /mnt/swap

vim /etc/sysctl.conf
修改vm.swappiness = 60 默认数值是0

swapon /mnt/swap

echo "/data/swap swap swap defaults 0 0" >> /etc/fstab

cat /proc/swaps 查看是否成功挂载

free 再次查看交换分区是否开启成功

2.5 安装Jenkins

0.rpm包下载位置,请注意版本,版本太低会导致后续安装不了插件
此处选择的版本没有问题,但是需要jdk11及以上,所以上述安装了两个jdk版本
https://mirrors.jenkins-ci.org/redhat/

1.下载Jenkins的RPM包,速度根据自身有快慢
wget https://mirrors.jenkins-ci.org/redhat/jenkins-2.389-1.1.noarch.rpm --no-check-certificate
2.安装
rpm -ivh jenkins-2.389-1.1.noarch.rpm

3.修改配置
vim /etc/sysconfig/jenkins

JENKINS_USER="root" #这里改为root
JENKINS_PORT="9898" #配置访问端口

4.关闭防火墙或者开启8088端口

5.配置jdk
vim /etc/init.d/jenkins 
在 candidates 内容最后添加本地安装jdk,必须11版本以上,该处选择17版本
该路径是你自己安装jdk的路径,如果路径和我一样可以直接复制
/usr/local/java/jdk-17.0.7

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第70张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第71张图片

6.从新读取配置文件
systemctl daemon-reload

7.启动Jenkins
systemctl start jenkins

从新启动Jenkins指令:
systemctl restart jenkins


配置完启动不起来,报如下错误:
Job for jenkins.service failed because the control process exited with 
error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.

可以不使用systemctl的方式去启动暂停Jenkins,直接用Jenkins自带的服务启动
其实systemctl最终也是执行的这个命令
cd /etc/init.d
# 从新启动
./jenkins restart
# 停止
./jenkins stop
# 状态
./jenkins status

9.访问
ip:port
192.168.56.137:9898

访问报如下错误:
AWT is not properly configured on this server. Perhaps you need to run 
your container with “-Djava.awt.headless=true”? See also: 
https://jenkins.io/redirect/troubleshooting/java.awt.headless

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第72张图片

解决方案:
yum install -y dejavu-sans-fonts
yum install -y fontconfig
yum install -y xorg-x11-server-Xvfb

从新读取配置文件
systemctl daemon-reload

从新启动,确保在 /etc/init.d  执行该指令 从新启动后再次刷新访问
./jenkins restart

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第73张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第74张图片


10.查看Jenkins密码
cat /var/lib/jenkins/secrets/initialAdminPassword

在这里插入图片描述
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第75张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第76张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第77张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第78张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第79张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第80张图片


11.修改插件下载地址
sed -i 's/https:\/\/updates.jenkins.io\/download/http:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json

在这里插入图片描述

12.进入 Manage Jenkins -> Manage Plugin -> Advanced 最下面有 Update Site 设置为:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第81张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第82张图片2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第83张图片

13.重启Jenkins
ip:8088/restart

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第84张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第85张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第86张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第87张图片

14.汉化Jenkins
Manage Jenkins -> Manage Plugin -> available
输入 Localization: Chinese (Simplified)
点击:install without restart

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第88张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第89张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第90张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第91张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第92张图片

15.安装自动化部署所需插件
// git插件
Git client
// gitlab插件
GitLab
// ssh插件
SSH Credentials
// maven插件
Maven Integration

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第93张图片
直接点击 安装完成后… 几个字即可
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第94张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第95张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第96张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第97张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第98张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第99张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第100张图片2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第101张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第102张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第103张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第104张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第105张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第106张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第107张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第108张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第109张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第110张图片

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第111张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第112张图片2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第113张图片2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第114张图片
http的git地址一定加上端口
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第115张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第116张图片2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第117张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第118张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第119张图片

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第120张图片

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第121张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第122张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第123张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第124张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第125张图片

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第126张图片
在这里插入图片描述
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第127张图片
注意修改jar包的名称,可以直接将该脚本放在服务器,使用 bash /root/脚本名称 该处直接运行脚本
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第128张图片
jarPath=/var/lib/jenkins/workspace/demo/target/ 是Jenkins构建后jar生成的位置
脚本这里自己注意修改一下

#!/bin/bash
workPath=/usr/local/project/test/
jarPath=/var/lib/jenkins/workspace/test/target/
jarName=test-0.0.1-SNAPSHOT.jar
mkdir -vp $workPath
echo "==========创建工作空间=========="
chmod 755 $workPath
pid=`ps -ef | grep test-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "==========杀死存在进程=========="
fi
echo $workPath$jarName
echo $jarPath$jarName
if [ -e $workPath$jarName ]; then
   echo "==========启动文件存在, 执行删除启动文件=========="
   rm -rf $workPath$jarName
else
   echo "==========启动文件不存在=========="
fi
if [ -e $jarPath$jarName ]; then
   cp $jarPath$jarName $workPath
   echo "==========目标文件存在, 执行拷贝启动文件=========="
else
   echo "==========目标文件不存在=========="
fi
cd $workPath
export BUILD_ID=dontKillMe
echo "==========执行启动demo服务=========="
nohup java -jar test-0.0.1-SNAPSHOT.jar  > test-logs.log 2>&1 &
echo "==========启动成功demo服务=========="
16.如何卸载Jenkins
rpm -e jenkins
rpm -ql jenkins
find / -iname jenkins | xargs -n 1000 rm -rf

17.升级Jenkins
17.0关闭Jenkins服务
systemctl stop jenkins
systemctl status jenkins 

17.1下载war包 
https://mirrors.tuna.tsinghua.edu.cn/jenkins/war

17.2查找服务器Jenkinswar位置
find / -name jenkins.war

17.3进入war所在位置
cd /usr/lib/jenkins/

17.4将war移动到其他目录
mkdir /root/jenkins

17.5将下载的war包放入该文件
mv /root/jenkins.war ./

17.6启动服务
systemctl start jenkins

17.7注意Jenkins版本与jdk对应版本,否则启动失败

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第129张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第130张图片

2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第131张图片
2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程_第132张图片
我码的累你看的也累,一键三连支持一下,谢谢大家了,不好的地方也欢迎大家指出,码字不易转载请注明出处

你可能感兴趣的:(自动化部署,jenkins,gitlab,spring,boot,java,自动化)