ci(breed_jenkins): 更新 Jenkins 构建脚本

- 添加 JDK 1.8 工具配置
- 优化 Maven 构建命令,指定 JAVA_HOME
- 新增部署前停止已运行项目的服务
- 修改部署步骤,使用 cp 命令替换 scp
- 优化项目启动命令,增加内存配置
This commit is contained in:
aixianling
2024-12-20 15:40:54 +08:00
parent 85bc1731ff
commit b072686f7f

View File

@@ -1,7 +1,8 @@
pipeline {
agent any
tools {
maven 'mvn39' // 'M3' 是在全局工具配置中定义的 Maven 名称
maven 'mvn39'
jdk 'jdk18'
}
stages {
stage('拉取代码') {
@@ -12,31 +13,43 @@ pipeline {
doGenerateSubmoduleConfigurations: false,
extensions: [],
submoduleCfg: [],
userRemoteConfigs: [[url: 'http://git.sinoecare.com/sinoecare/breed_service.git',credentialsId:'b42f8b48-95a4-4039-ae51-b1dff06d943b']]
userRemoteConfigs: [[url: 'http://git.sinoecare.com/sinoecare/breed_service.git', credentialsId:'b42f8b48-95a4-4039-ae51-b1dff06d943b']]
])
}
}
stage('构建打包') {
steps {
sh 'mvn clean package -Dmaven.test.skip=true'
withEnv(['JAVA_HOME=/home/java/jdk_1.8.0']){
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('部署') {
steps {
script{
script {
echo 'Deploying...'
def projectDir = '/home/product/product_breed/app'
def jarName = 'breed-service.jar'
sh "scp target/${jarName} ${projectDir}"
sh """
pid=`ps -ef | grep ${jarName}| grep -v grep | cut -c 9-16 `
if [ ! -n "$pid" ];then
echo "项目未启动,无需停止"
else
echo "kill 项目" ${jarName} "pid ---> " $pid
kill -9 $pid
sleep 2
fi
"""
sh "cp -f target/${jarName} ${projectDir}"
sh "cd ${projectDir}"
sh "BUILD_ID=dontKillMe setsid java -jar -Xmx500M -Xms500M ${jarName} --spring.profiles.active=dev --server.port=19998 >/dev/null 2>&1 &"
}
}
}
}
post{
post {
success {
script{
script {
echo 'Deployment finished successfully.'
def currentTime = new Date().format('yyyy-MM-dd HH:mm:ss', TimeZone.getTimeZone('Asia/Shanghai'))
@@ -54,7 +67,6 @@ pipeline {
}'
"""
}
}
failure {
echo 'Deployment failed.'