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

这篇具有很好参考价值的文章主要介绍了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虚拟机

我直接电脑管家下载,也可以官网下载,懒的麻烦直接电脑管家下载,至于想永久免费使用,可以直接百度爸爸,这里不过多赘述,傻瓜式安装无限下一步即可
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

2.0.3 开始安装CentOs

打开VM软件
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
Linux连接工具,可以使用 xShell,我使用的是electerm

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
至此服务器准备完毕

2.1 安装jdk

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

配置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  保存退出 

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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 "2057353320@qq.com"

生成秘钥,直接一路回车即可
ssh-keygen -t rsa -C "2057353320@qq.com"

查看公钥
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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

<localRepository>/usr/local/maven/repo</localRepository>

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

<profile>
      <id>jdk-1.8</id>
      <activation>
            <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>

      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.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账号加刚刚设置的密码登陆

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

2.4.1 配置gitlab以及项目创建

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
进入目录后直接右键打开git bash界面
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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'] = '123456@qq.com'
# 邮件账号
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'] = '123456@qq.com'
阿里云服务器访问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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

解决方案:
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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化


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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化


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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

13.重启Jenkins
ip:8088/restart

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

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

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
直接点击 安装完成后… 几个字即可
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
http的git地址一定加上端口
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
注意修改jar包的名称,可以直接将该脚本放在服务器,使用 bash /root/脚本名称 该处直接运行脚本
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
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对应版本,否则启动失败

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化

jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
jenkins+gitlab+maven部署多项目,自动化部署,jenkins,gitlab,spring boot,java,自动化
我码的累你看的也累,一键三连支持一下,谢谢大家了,不好的地方也欢迎大家指出,码字不易转载请注明出处文章来源地址https://www.toymoban.com/news/detail-715772.html

到了这里,关于2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023最全最细的Selenium+Pytest自动化测试框架实战

                                      选前言#   selenium自动化+ pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承 一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网 测试框架简介# 测试框架有什么优点呢: 代码复用率高,

    2024年02月06日
    浏览(40)
  • 全网最全持续集成接口自动化-jmeter+ant+jenkins

    ant 批量执行Jmeter 1、JDK环境:Java Downloads | Oracle 2、ANT环境:Apache Ant - Binary Distributions 3、Jmeter:Apache JMeter - Download Apache JMeter 4、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中 5、修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_

    2024年01月23日
    浏览(49)
  • 2023自动部署神器——Jenkins全网最全攻略

    ​ ​ 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部署; 这些情况都会涉及到频繁的打包部署; 手动打包常规步骤

    2024年02月16日
    浏览(27)
  • Jenkins+Maven+Gitlab+Tomcat 自动化构建打包,部署

    1、安装服务 Jenkins工具、环境、插件配置 全局变量配置 Manage JenkinstoolsJDK 安装 安装插件 Deploy to container 安装此插件,才能将打好的包部署到tomcat上     配置国内mvn源 创建maven项目 1  2   3    4    5    6    7    8     9 10  

    2024年02月05日
    浏览(39)
  • Ubuntu20.04配置深度学习环境(全网最细最全)

    目录 一、NVIDIA显卡驱动安装 二、安装CUDA 三、安装cuDNN 四、安装Anaconda 五、Anaconda的简单使用 5.1 管理环境 5.2 管理包(package) 5.3 conda install 与 pip install 5.4 conda configuration        默认你已经完成Ubuntu20.04的安装,如果没安装的话可以参考其他博客,我的显卡是GTX1660Ti     

    2024年04月09日
    浏览(68)
  • 【全网最全最细】青龙面板搭配Ninja+依赖+Ninja配置的超细讲解教程!!!

    通过Ninja登录京东账号实现京东代挂赚取京东京豆    大家可以加群644288320,进行技术交流。 由于xshell没有finalshell创建文件那么方便,所有要进行以下操作: 注意:把finalshell关了,重新连接一下,把下面全部命令复制粘贴进去即可 然后找到以下文件(如图)

    2023年04月08日
    浏览(33)
  • RocketMQ的下载与安装(全网最细保姆级别教学)

    下载地址 下载地址 推荐使用官网下载  Windows/Linux 64位系统  JDK1.8(64位)  源码安装需要安装Maven 3.2.x 要是需要GPT Plus账号的小伙伴可以联系我~ 下载地址 变量名:ROCKETMQ_HOME 变量值:MQ解压路径MQ文件夹名(bin目录的上一级即可) 首先启动NameServer 在bin目录下执行cmd命令呼

    2024年02月12日
    浏览(35)
  • 全网最全最细的PLSQL下载、安装、配置、使用指南、问题解答,相关问题已汇总

    1.1、PLSQL 下载链接 1.2、PLSQL下载链接,包含64位和32位。选择64位下载就好了。 1.3、推荐大家下载14.0.6版本的PLSQL,一般不推荐下载最新的,最新的虽然不一定有bug,但是遇到了就很恶心,但是上一个版本基本上就很稳定了。14.0.6不用下载chinese语言包,就是下图的Chinese Langua

    2024年01月19日
    浏览(30)
  • 全网最细,Python接口自动化测试websocket接口实战,即学即用......

    在python中,发送http请求,比较有名的是requests这个库;webservice的接口可以使用suds-py3来请求。那么websocket怎么请求呢? 其实在python中也有很多第三方库可以用来发送websocket请求。比如websocket-client, 那么接下来我们先来看看websocket-client这个库的使用。 Python接口自动化测试:

    2024年02月12日
    浏览(29)
  • Selenium+Pytest自动化测试框架实战,还不会点这里一清二楚,全网最细教程!

    在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!_哔哩哔哩_bilibili 在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!共计16条视频,包括:1. 【web自动化】主流Web自动化测试技术对比、2. 【web自动化】Selenium自动化测试环境一键搭建、

    2024年02月02日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包