概要
前回書いた以下の記事の内容の続き
以下の記事で設定した内容に加え、ビルド対象のブランチを実行時に指定できるようにした。
https://qiita.com/nkk777dev/private/d3dd0e52b5d992e70616
詳細
pipeline {
agent any
// パラメーター定義
parameters {
string name: 'FRONTEND_BRANCH', defaultValue: 'develop', description: 'フロントエンドのビルド対象ブランチ', trim: false
string name: 'BACKEND_BRANCH', defaultValue: 'develop', description: 'バックエンドのビルド対象ブランチ', trim: false
}
stages {
// フロントエンドのビルド
stage('frontend_build') {
steps {
node('master') {
deleteDir()
// ブランチ名をパラメーターから取得し設定
git branch: "${params.FRONTEND_BRANCH}", changelog: false, poll: false, url: '【フロントエンドのリポジトリURL】'
bat label: '', script: 'npm install'
bat label: '', script: 'npm run build_dev'
stash name: 'frontend', includes: 'dist/**'
echo 'frontend build success'
}
}
}
// warファイルのビルド
stage('backend_build') {
steps {
node('master') {
deleteDir()
// ブランチ名をパラメーターから取得し設定
git branch: "${params.BACKEND_BRANCH}", changelog: false, poll: false, url: '【フロントエンドのリポジトリURL】'
unstash 'frontend'
bat label: 'delete_sample', script: 'rd /s /q src\\main\\resources\\static'
bat label: 'mkdir_static', script: 'mkdir src\\main\\resources\\static'
bat label: 'copy_frontend_build', script: 'xcopy /S dist src\\main\\resources\\static'
bat label: 'delete_frontend_build', script: 'rd /s /q dist'
withEnv(['JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_201']) {
bat label: 'bootWar', script: 'gradlew.bat bootWar'
}
archiveArtifacts 'build/libs/**'
echo 'backend build success'
}
}
}
}
}
まとめ
検証環境用に作成しているJobで設定しているが、検証ブランチを指定してビルド・検証を行えるようになったため、けっこう便利。