2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

looking back this year for my techAdvent Calendar 2019

Day 7

Jenkins ビルド対象のブランチを切り替えられるようにする

Last updated at Posted at 2019-12-06

概要

前回書いた以下の記事の内容の続き
以下の記事で設定した内容に加え、ビルド対象のブランチを実行時に指定できるようにした。
 https://qiita.com/nkk777dev/private/d3dd0e52b5d992e70616

詳細

  1. ジョブの設定画面内の「ビルドのパラメータ化」にチェックを入れる。
  2. 「パラメータの追加」でブランチ名を入力するパラメータを作成。
    Jenkins2-1.png
  3. パイプラインスクリプトの記述を以下の内容に変更する。
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で設定しているが、検証ブランチを指定してビルド・検証を行えるようになったため、けっこう便利。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?