10
9

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 5 years have passed since last update.

Declarative Pipeline で Jenkins に保存された認証情報を利用する

Last updated at Posted at 2018-07-21

認証情報を利用する

Jenkins の Declarative Pipeline で Jenkins に保存されている認証情報を利用する際に environmentディレクティブ内で credentials() というヘルパメソッドが利用できます。

pipeline {
    agent any
    environment {
        CREDENTIALS = credentials('credentials-id')
    }
    stages {
        stage('Print Environment Variables') {
            steps {
                sh 'printenv'
            }
        }
    }
}

これにより、 CREDENTIALS という環境変数に認証情報が持っている値が格納され、認証情報の中身を環境変数から読み込めるようになります。

種類が Secret text の場合には項目 Secret に保存された値が入り、種類が ユーザー名とパスワード だと項目 ユーザー名 と項目 パスワード に保存された値が ユーザー名:パスワード というコロンで結合した形で入ります。また、認証情報変数名の後ろに _USR をつけた環境変数(この例だと CREDENTIALS_USR )に ユーザー名 が、認証情報変数名の後ろに _PSW をつけた環境変数(この例だと CREDENTIALS_PSW )に パスワード が入ります。

認証情報をパラメータ化する

認証情報をパラメータ化する場合には、 parameters ディレクティブに credentials というパラメータを設定し、 credentials() メソッドに GString で渡します。

pipeline {
    agent any
    parameters {
        credentials(
            name: 'credentials',
            credentialType: 'com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl'
        )
    }
    environment {
        CREDENTIALS = credentials("${params.credentials}")
    }
    stages {
        stage('Print Environment Variables') {
            steps {
                sh 'printenv'
            }
        }
    }
}
    environment {
        CREDENTIALS = credentials(params.credentials)
    }

というように、パラメータの変数を直接渡したくなりますが、以下のようなエラーが出てしまうので、必ずGStringで渡す必要があります。

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 10: Internal function call parameters must be strings. @ line 10, column 23.
           CREDENTIALS = credentials(params.credentials)
                         ^
10
9
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
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?