pipeline {
agent any
environment {
GIT_REPO = "http://YH:YH123456@gitlab.yuhecloud.com/tool/jiangqie_ow_free.git"
GIT_CREDENTIALS = credentials('YHGIT')
SSH_PASSWORD = 'yh608217yh'
REMOTE_HOST = '192.168.120.253'
REMOTE_DIR = '/usr/local/newtest/'
}
stages {
stage('Clean Workspace') {
steps {
cleanWs()
}
}
stage('Checkout Code') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: 'dev']],
userRemoteConfigs: [[
url: GIT_REPO,
credentialsId: 'YHGIT'
]]
])
}
}
stage('Build Java Project') {
steps {
dir('server'){
sh 'mvn clean install package'
}
}
}
stage('Archive Artifacts') {
steps {
// 归档所有需要的构建产物
archiveArtifacts artifacts: 'server/target/*.jar', fingerprint: true
}
}
stage('Deploy Applications') {
steps {
// 部署第一个应用
script {
def infraJar = 'server/target/*.jar'
sh """
sshpass -p '${SSH_PASSWORD}' scp -o StrictHostKeyChecking=no ${infraJar} root@${REMOTE_HOST}:${REMOTE_DIR}
sshpass -p '${SSH_PASSWORD}' ssh -o StrictHostKeyChecking=no root@${REMOTE_HOST} 'cd /usr/local/ && ./jiangqie_deploy.sh'
"""
}
// 可以继续添加更多应用的部署
}
}
}
post {
success {
echo 'Build and deployment succeeded!'
}
failure {
echo 'Build or deployment failed!'
}
}
}