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,插件直接使用社区推荐等他安装完毕即可

v86WUU.png

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

v8csiD.png

v8cTJg.png

v8cLyn.png

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

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

v85MU1.png

4,创建一条item

1,点击新建item

v8vzWQ.png

2,配置gitlab

v8xJYD.png

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

v8xdOI.png

选择需要部署的分支

v8xgpQ.png

3,安装publish over ssh插件

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

vGSYMd.png

4,配置本机ssh server

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

vGpCyd.png

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

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

选择刚才配置的ssh server用户

vGp0mR.png

vGpoAP.png

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文件在仓库中的地址来写)

vGpx7q.png

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

vG9tEt.png

vGPFm9.png

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

1,下载插件

vGiIKg.png

2,配置项目出发器

vGFSr4.png

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

地址为: 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配置

vGFDJ0.png

vGkFmQ.png

4,绑定gitlab wehooks

vGAw80.png

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码者o(^o^)o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值