jenkins+gitlab自动化部署springboot项目

jenkins+gitlab自动化部署springboot项目

1,前置条件

​ 需要最少两台服务器,一台部署gitlab代码仓库,另外一台部署jenlins进行项目测试而且需要安装jdk,maven,git环境

安装idk

// 上传压缩包,解压
tar -axvf /opt/software/jdk-8u271-linux-x64.tar.gz -C /opt/module

// 添加环境变量
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_271
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

// 测试
java -version

安装git

yum -y install git
也可以下载压缩包安装

默认安装位置为
/usr/bin/git

安装maven

// 上传压缩包,解压
tar -axvf /opt/software/apache-maven-3.6.3-bin.tar.gz -C /opt/module

// 修改settings.xml配置文件使用阿里云镜像进行下载/opt/module/apache-maven-3.6.3/conf/settings.xml文件在下

// 配置环境变量
#MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin

source /etc/peofile

// 测试
mvn -v

我的所有安装地址(后面有用)

java /opt/module/jdk1.8.0_271
maven /opt/module/apache-maven-3.6.3
git /usr/bin/git

2,运行jenkins

// 上传war包,并且运行,需要进入war包所在目录
nohup java -jar jenkins.war >jenkins.log 2>&1 &

次指令会运行jenkins,运行之后会使当前窗口无法操作请不要ctr+c不然后结束进程,正确做法关闭当前shell窗口在开一个.可查看jenkins.log文件查看启动状态.记得打开8080,50000端口

3,使用jenkins

1,直接访问ip+8080端口会进入到jenkins运行出页面,

2,第一次会需要从/root/.jenkins/secrets/initialAdminPassword中查看密码,直接复制密码粘贴即可

3,插件直接使用社区推荐等他安装完毕即可

jenkins+gitlab自动化部署springboot项目_第1张图片

4,配置maven和jdk,依次点击 Manager Jenkins ->Global Tool Configuration 详细配置如下

jenkins+gitlab自动化部署springboot项目_第2张图片

jenkins+gitlab自动化部署springboot项目_第3张图片

jenkins+gitlab自动化部署springboot项目_第4张图片

以上地址皆为自己服务器或者虚拟机上的软件安装目录,如果没有会进行提示

5,安装maven插件,依次点击 Manager Jenkins -> Manager Plugin,搜索此插件进行安装

jenkins+gitlab自动化部署springboot项目_第5张图片

4,创建一条item

1,点击新建item

jenkins+gitlab自动化部署springboot项目_第6张图片

2,配置gitlab

jenkins+gitlab自动化部署springboot项目_第7张图片

添加一个可以访问到此仓库的账号

jenkins+gitlab自动化部署springboot项目_第8张图片

选择需要部署的分支

jenkins+gitlab自动化部署springboot项目_第9张图片

3,安装publish over ssh插件

具体步骤请参考安装maven插件

vGSYMd.png

4,配置本机ssh server

依次点击 Manager Jenkins -> Configure System 拉到最下面修改如图

jenkins+gitlab自动化部署springboot项目_第10张图片

5,配置构建前处理事件(杀死上一次构建运行的项目进程,防止端口占用)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1NIOpeDo-1660209084051)(…/AppData/Roaming/Typora/typora-user-images/image-20220811161100512.png)]

选择刚才配置的ssh server用户

jenkins+gitlab自动化部署springboot项目_第11张图片

jenkins+gitlab自动化部署springboot项目_第12张图片

preclear.sh.可自定义

#!/bin/bash

#删除历史数据
rm -rf xxoo

appname=$1
#获取传入的参数
echo "arg:$1"


#获取正在运行的jar包pid
pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`

echo $pid

#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断
        then
                echo "$appname not started"

        else
               kill -9 $pid
                echo "$appname stoping...."

check=`ps -ef | grep -w $pid | grep java`
if [ -z $check ];

        then
                echo "$appname pid:$pid is stop"
        else
                echo "$appname stop failed"
fi

fi

6,选择pom.xm文件地址(根据pom.xml文件在仓库中的地址来写)

jenkins+gitlab自动化部署springboot项目_第13张图片

7,配置构建后处理事件(jenkins收到变动打包+运行jar)

jenkins+gitlab自动化部署springboot项目_第14张图片

jenkins+gitlab自动化部署springboot项目_第15张图片

5,gitlab提交代码,自动部署

1,下载插件

vGiIKg.png

2,配置项目出发器

jenkins+gitlab自动化部署springboot项目_第16张图片

因为安装了插件所以当访问网址的时候就会出发重新构建

地址为: ip+8080(自定义端口请自行改变)/buildByToken/build?job=java-test(item名,当前流水线名称)&token=test(前面设置的)

我的地址 http://192.168.20.102:8080/buildByToken/build?job=java-test&token=test

3,gitlab配置

jenkins+gitlab自动化部署springboot项目_第17张图片

jenkins+gitlab自动化部署springboot项目_第18张图片

4,绑定gitlab wehooks

jenkins+gitlab自动化部署springboot项目_第19张图片

感谢你的观看,配置完成之后你就可以乱杀了

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