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'
                    }
                }
            }
        }
    }
}

 

 

'Infra Structure > Jenkins' 카테고리의 다른 글

[Jenkins] Tomcat restart  (0) 2022.07.09
[Jenkins] Server Disk 용량 체크  (0) 2022.07.09
[Jenkins] Pipeline 예제(node.js)  (0) 2022.07.09
[Jenkins] server log file 삭제  (0) 2022.07.09
[Jenkins] docker로 Jenkins 설치  (0) 2022.07.03

+ Recent posts