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 앞에 공백이 있으면 안됨. 맨앞에 붙임
'Infra Structure > Jenkins' 카테고리의 다른 글
[Jenkins] Server Disk 용량 체크 (0) | 2022.07.09 |
---|---|
[Jenkins] Pipeline 예제(tomcat) try catch (0) | 2022.07.09 |
[Jenkins] server log file 삭제 (0) | 2022.07.09 |
[Jenkins] docker로 Jenkins 설치 (0) | 2022.07.03 |
[Jenkins] 원격 계정생성 (0) | 2022.06.13 |