현재 dobby.work
에 사용하고 있는 Jenkins Pipeline 스크립트
fetch -> build -> deploy
정도로만 구성하였고, 서버에 배포할때는 sshagent
를 이용하여 scp
로 배포함좀 더 응용한다면 build 와 deploy 사이에 lint
와 test
stage를 넣으면 좋지 않을까 ..
pipeline {
agent any
tools {
// Install the Maven version configured
nodejs "node13.1.0"
}
stages {
stage('Build') {
steps {
// Get some code from a GitHub repository
git(
url : 'git remote repo',
credentialsId: 'ad7###',
branch: 'master'
)
// yarn install & build
sh "yarn install"
sh "yarn build"
}
}
stage('Deploy') {
steps {
// sshagent plugin required when using jenkins credentials
sshagent(credentials : ['credential id']) {
sh 'ssh -v id@host'
sh 'ssh id@host mkdir -p /home/dobby/deploy/dobby-work'
sh 'scp -r ./public id@host:/home/dobby/deploy/dobby-work'
}
}
}
}
}
Open Blue Ocean
메뉴가 생성된다.Open Blue Ocean
메뉴를 클릭하면 아래와 같이 예쁜?
UI가 나오게 된다.webhook
을 이용하여 자동으로 Pipeline 을 시작https://wiki.jenkins.io/display/JENKINS/Build+Token+Root+Plugin
을 사용실행방법
buildByToken/build?job=RevolutionTest&token=TacoTuesday