2017-12-14 11 views
0

kubernetesでスレーブを開始するようにマスターJenkinsを設定しています。 スレーブがパイプラインを開始するとき、私は彼にマスターからsettings.xmlを読み込ませる(またはコピーする)必要があります。 kubernetesプラグインを使って私はそのための方法を見つけられませんでした。jenkins-slavesのKubernetesとsettings.xml

お願いします。

答えて

1

多分、ジェンキンスPipeline: Basic Stepsがお手伝いします。彼らはstash/unstashのステップを提供します。つまり、マスターノードにsettings.xmlを隠して、ビルドを実行するスレーブにそのファイルをアンスタッシュします。現在のstash/unstashは現在のパイプラインワークスペースのサブディレクトリのみをサポートしていると思いますが、スチールする前にsettings.xmlを現在のワークスペースにコピーすることで回避できます。全体のものはそのように見えるかもしれません:

stage('Build') { 
    node('master') { 
    sh 'cp /path/to/master-node-settings-xml .' 
    stash includes: 'settings.xml', name: 'settingsXml' 
    } 

    node('slave') { 
    unstash 'settingsXml' 
    sh 'mv settings.xml /path/to/slave-node-settings-xml' 

    # Start your build here now .. 
    } 
} 

別のオプションは、プリベークするsettings.xmlあなたはKubernetesでスレーブをスピンアップするために使用しているドッキングウィンドウのイメージになります。もちろん、settings.xmlが動的に変更されたり、機密データ(可能であれば機密情報をドッカーイメージの中に入れないようにする)があれば、これは最適な解決策ではありません。

関連する問題