ci(breed_jenkins): 更新 Jenkins 构建脚本
- 添加 JDK 1.8 工具配置 - 优化 Maven 构建命令,指定 JAVA_HOME - 新增部署前停止已运行项目的服务 - 修改部署步骤,使用 cp 命令替换 scp - 优化项目启动命令,增加内存配置
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
tools {
|
tools {
|
||||||
maven 'mvn39' // 'M3' 是在全局工具配置中定义的 Maven 名称
|
maven 'mvn39'
|
||||||
|
jdk 'jdk18'
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('拉取代码') {
|
stage('拉取代码') {
|
||||||
@@ -12,31 +13,43 @@ pipeline {
|
|||||||
doGenerateSubmoduleConfigurations: false,
|
doGenerateSubmoduleConfigurations: false,
|
||||||
extensions: [],
|
extensions: [],
|
||||||
submoduleCfg: [],
|
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('构建打包') {
|
stage('构建打包') {
|
||||||
steps {
|
steps {
|
||||||
|
withEnv(['JAVA_HOME=/home/java/jdk_1.8.0']){
|
||||||
sh 'mvn clean package -Dmaven.test.skip=true'
|
sh 'mvn clean package -Dmaven.test.skip=true'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
stage('部署') {
|
stage('部署') {
|
||||||
steps {
|
steps {
|
||||||
script{
|
script {
|
||||||
echo 'Deploying...'
|
echo 'Deploying...'
|
||||||
def projectDir = '/home/product/product_breed/app'
|
def projectDir = '/home/product/product_breed/app'
|
||||||
def jarName = 'breed-service.jar'
|
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 "cd ${projectDir}"
|
||||||
sh "BUILD_ID=dontKillMe setsid java -jar -Xmx500M -Xms500M ${jarName} --spring.profiles.active=dev --server.port=19998 >/dev/null 2>&1 &"
|
sh "BUILD_ID=dontKillMe setsid java -jar -Xmx500M -Xms500M ${jarName} --spring.profiles.active=dev --server.port=19998 >/dev/null 2>&1 &"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
post{
|
post {
|
||||||
success {
|
success {
|
||||||
script{
|
script {
|
||||||
echo 'Deployment finished successfully.'
|
echo 'Deployment finished successfully.'
|
||||||
|
|
||||||
def currentTime = new Date().format('yyyy-MM-dd HH:mm:ss', TimeZone.getTimeZone('Asia/Shanghai'))
|
def currentTime = new Date().format('yyyy-MM-dd HH:mm:ss', TimeZone.getTimeZone('Asia/Shanghai'))
|
||||||
@@ -54,7 +67,6 @@ pipeline {
|
|||||||
}'
|
}'
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
failure {
|
failure {
|
||||||
echo 'Deployment failed.'
|
echo 'Deployment failed.'
|
||||||
|
|||||||
Reference in New Issue
Block a user