LoginSignup
1
3

More than 5 years have passed since last update.

JenkinsPipelineのパラメータ付きビルドで前回実行時の値を引き継ぐ

Last updated at Posted at 2019-02-09

通常のパラメータ付きビルドだと前回実行時の値が初期値として入っていますが、
Pipelineジョブだと、毎回 defaultValue の値が初期値になります。

前回の値を引き継ぎたい場合は defaultValue に env.<パラメータ名>を入れます。

Jenkinsfile
pipeline {
    agent any

    parameters {
        string(
            name: 'PARAM1',
            defaultValue: env.PARAM1,
            description: '',
        )
    }

    stages {
        stage('Build') {
            steps {
                sh "echo '${params.PARAM1}'"
            }
        }
    }
}

groovyのエルビス演算子を使うことにより、前回の値を引き継いだ上に初期値まで設定することもできます。

Jenkinsfile
pipeline {
    agent any

    parameters {
        string(
            name: 'PARAM1',
            defaultValue: (env.PARAM1 ?: 'param1'),
            description: '',
        )
    }

    stages {
        stage('Build') {
            steps {
                sh "echo '${params.PARAM1}'"
            }
        }
    }
}

まとめると

Jenkinsfile
pipeline {
    agent any

    parameters {
        string(
            name: 'PARAM1',
            defaultValue: env.PARAM1,
            description: '前回の値を引き継ぐ。初期値はなし。',
        )
        string(
            name: 'PARAM2',
            defaultValue: (env.PARAM2 ?: 'param2'),
            description: '前回の値を引き継ぐ。初期値もある。',
        )
    }

    stages {
        stage('Build') {
            steps {
                sh "echo '${params.PARAM1}'"
                sh "echo '${params.PARAM2}'"
            }
        }
    }
}
1
3
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
1
3