2017-04-18 19 views
0

私のジェンキンスジョブでは、入力パラメータに基づいてSVNからさまざまなソースをチェックアウトしたいと思います。 たとえば、入力が "foo"の場合、チェックアウトソースはhttps://svn/code/foo/trunkです。入力が "bar"の場合、チェックアウトソースはhttps://svn/anotherrepo/bar/trunkです。jenkins - パラメータに基づいたチェックアウトソース

私はこれをJenkinsのparametrizedプラグインとSubversionプラグインを使用して行いたいと思います。これは可能ですか?可能な解決策は何ですか?

私はJenkinsバージョン2.22を使用しています。 TIA

答えて

1

これが可能です。宣言的なJenkinsfile構文は、適切なプラグインがインストールされたパラメータとSubversionをサポートしています。あなたは、パラメータがブロックでパラメータを収集し、このようparams.PARAM_NAMEを参照することにより、パラメータを使用することができます。私は、「パイプライン構文」をクリックした際にメガ長いチェックアウトステップはで私のジェンキンスサーバーによって自動的に生成されたことを

pipeline { 
    agent { label 'docker' } 
    options { 
    skipDefaultCheckout true 
    } 
    parameters { 
    string(name: 'MY_MODULE', defaultValue: 'awesome_module', description: 'What subversion module to checkout?') 
    } 
    stages { 
    stage('hot_stage') { 
     steps { 
     checkout changelog: false, poll: false, scm: [$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[credentialsId: '196ff1ff-c481-4d2e-922b-e32410f8ee13', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: "https://svn/code/${params.MY_MODULE}/trunk"]], workspaceUpdater: [$class: 'UpdateUpdater']] 
     } 
    } 
    } 
} 

任意のパイプラインジョブの左のナビゲーション、選択されたサンプルステップ "checkout:General SCM"、jenkins UIのオプションを入力し、 "Generate Pipeline Script"をクリックします。

あなたは絶対最新のジーンキンを使用していません。params命令が追加された時期は正確ではありません。それがうまくいかなければ、おそらくenv.MY_MODULE経由で参照することができます。

関連する問題