SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_
Posted zhucww
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_相关的知识,希望对你有一定的参考价值。
1.部署服务器创建好对应文件夹和启动脚本
- 创建文件夹
mkdir /wdcloud/app/rps/rps-module-category
- 创建启动脚本
cd /wdcloud/app/rps/rps-module-category
vim rps-module-category.sh
#!/bin/bash
APP_HOME=/wdcloud/app/rps/rps-module-category
APP_JAR=rps-module-category-*.jar
APP_PIDS=$(ps ax | grep java | grep $APP_HOME | grep -v grep | awk '{print $1}')
function start(){
if [ -z "$APP_PIDS" ]; then
echo "start project..."
exec java -jar $APP_HOME/$APP_JAR >/dev/null 2>&1 &
echo "start project end..."
else
echo "warning: the spring boot server is started!!!====="$APP_HOME
exit 1
fi
}
function stop(){
if [ -z "$APP_PIDS" ]; then
echo "No spring boot server to stop"
else
echo "stop project..."
kill -s TERM $APP_PIDS
echo "stop project end..."
fi
}
function restart(){
stop
sleep 3
APP_PIDS=$(ps ax | grep java | grep $APP_HOME | grep -v grep | awk '{print $1}')
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
printf 'Usage: %s {start|stop|restart}\\n' "$prog"
;;
esac
exit 1
2.Jenkins 创建任务
输入任务名称 -> 选择流水线
ok-> 选择丢弃旧的构建
Pipeline - Script 输入对应脚本
node('master') {
def mvnHome = tool 'maven11-free'
def gitUrl = "http://gitlab.wdcloud.cc:10080/utility/rps/rps.git"
def appName = "rps-module-category"
def appPath = "/wdcloud/app/rps/rps-module-category"
def nodeIp = "192.168.9.14"
def profile = "test"
stage('rmdir') {
sh "rm -rf ./*"
}
stage('git') {
git branch: 'master', credentialsId: 'd390694c-d99b-4eae-b7d3-f7b75095d29e', url: "${gitUrl}"
}
stage('Package') {
sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore -Dmaven.test.skip=true clean package"
}
stage('Deployment'){
sh """
ssh [email protected]${nodeIp} "${appPath}/${appName}.sh stop || echo not running"
ssh [email protected]${nodeIp} "rm -rf ${appPath}/${appName}-*.jar"
scp -o StrictHostKeyChecking=no -r rps-modules/${appName}/target/${appName}-*.jar [email protected]${nodeIp}:${appPath}/
ssh [email protected]${nodeIp} "${appPath}/${appName}.sh start || echo not running"
"""
}
}
点击保存 配置完成
3.Jenkins 构建项目 即可进行自动化部署
以上是关于SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins和Gitee自动化部署SpringBoot项目
linux服务器中Jenkins集成gitGradle持续构建Springboot项目
docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)
Jenkins+Docker+Gitee+SpringBoot自动化部署