pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                withCredentials([[$class: 'UsernamePasswordMultiBinding',
							credentialsId: 'credentail id입력',
							usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
								sh "svn co svn://url:port/svn --username $USERNAME --password $PASSWORD ./"
                            }
            }
        }
        stage('Build') {
            steps {
                sh 'echo "Build"'
                sh '''
                    tar -cf ./myservice.tar.gz ./myservice

                    scp ./myservice.tar.gz user@10.10.10.10:/usr/local/myapp
                    
                    rm -rf ./myservice.tar.gz
                '''
            }
        }
        stage('Deploy') {
            steps {
                sh 'echo "Deploy"'
                sh '''
                    ssh user@10.10.10.10 << "ENDSSH"
                    
                    pm2 kill
                    
                    sleep 1
                    
                    cd /usr/local/marathon
                    rm -rf ./myservice
                    tar -xf ./myservice.tar.gz
                    rm -rf ./myservice.tar.gz
                    
                    sleep 1
                    
                    pm2 start /usr/local/myapp/myservice/app.js --name myapp
                    
ENDSSH
                '''
            }
        }
    }
}

 

# ENDSSH: command not found 에러발생시

 --> ENDSSH 앞에 공백이 있으면 안됨. 맨앞에 붙임

 

 

+ Recent posts