Infra Structure/Jenkins
[Jenkins] Pipeline 예제(tomcat) try catch
하 선생
2022. 7. 9. 14:10
pipeline {
agent any
stages {
stage('Checkout') {
steps {
withCredentials([[$class: 'UsernamePasswordMultiBinding',
credentialsId: 'svn_user',
usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
sh "svn co svn://10.10.10.10/project/source --username $USERNAME --password $PASSWORD ./"
}
}
}
stage('Shutdown') {
steps {
sh 'echo "Tomcat shutdown"'
script {
try {
sh '''
ssh -o StrictHostKeyChecking=no -p 3122 user@10.10.10.10 << "ENDSSH"
/home/user/shell/tomcat_stop.sh
ENDSSH
'''
} catch(error) {
sh 'echo tomcat stop Fail!!'
print(error)
env.cloneResult=false
currentBuild.result='FAILURE'
}
}
}
}
stage('Deploy') {
steps {
sh 'echo "Deploy"'
sh '''
mvn clean install
cp ./target/myapp-1.0.0.war ./target/ROOT.war
scp -P 3122 ./target/ROOT.war user@10.10.10.10:/usr/local/tomcat9/webapps
'''
}
}
stage('Startup') {
steps {
sh 'echo "Tomcat start"'
script {
try {
sh '''
ssh -o StrictHostKeyChecking=no -p 3122 user@10.10.10.10 << "ENDSSH"
/home/user/shell/tomcat_start.sh
ENDSSH
'''
} catch(error) {
sh 'echo tomcat start Fail!!'
print(error)
env.cloneResult=false
currentBuild.result='FAILURE'
}
}
}
}
}
}