5

job-dsl シード ジョブを書いています。シード ジョブは、github.com または会社の github エンタープライズ サーバーから生成できる必要があります。2つ持つよりも1つ残していきたいです。

いずれの場合も、ジェンキンスを認証したいと思います。これを行うために、クレドをスクリプトにハードコーディングしました。しかし、私はこれに満足していません。シード ジョブに Credentials パラメータを追加したいと思います。

問題は、Creds パラメータが、USERID/PASSWORD を含むスクリプトに ENV 変数を追加しているように見えることです。 http://steve-jansen.github.io/blog/2014/12/16/parsing-jenkins-secrets-in-a-shell-script/

ただし、git jobdsl は、ユーザー ID/パスワードではなく、資格情報 ID を必要とするようです。

この行き詰まりを解決する方法は?

scm {
    git {
        remote {
            name('origin')
                url(repo)
                credentials(myCredential)
        }
        branch('master')
    }
}
4

3 に答える 3

5

Job DSL がクレデンシャルを処理する方法の優れた紹介は、公式 wikiページにあります。

Jenkins ジョブにユーザー パスワードを渡す方法を説明する 2 つの例:

// use the github-ci-key credentials for authentication with GitHub 
job('example-1') { 
    scm { 
        git { 
            remote { 
                github('account/repo', 'ssh') 
                credentials('github-ci-key') 
            } 
        } 
    } 
} 

// assign the jarsign-keystore credentials to the PASSWORD build variable job('example-2') { 
    wrappers { 
        credentialsBinding { 
            usernamePassword('PASSWORD', 'jarsign-keystore') 
        } 
    } 
}
于 2016-04-03T14:53:01.917 に答える