kubernetesでスレーブを開始するようにマスターJenkinsを設定しています。 スレーブがパイプラインを開始するとき、私は彼にマスターからsettings.xmlを読み込ませる(またはコピーする)必要があります。 kubernetesプラグインを使って私はそのための方法を見つけられませんでした。jenkins-slavesのKubernetesとsettings.xml
お願いします。
kubernetesでスレーブを開始するようにマスターJenkinsを設定しています。 スレーブがパイプラインを開始するとき、私は彼にマスターからsettings.xmlを読み込ませる(またはコピーする)必要があります。 kubernetesプラグインを使って私はそのための方法を見つけられませんでした。jenkins-slavesのKubernetesとsettings.xml
お願いします。
多分、ジェンキンス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
が動的に変更されたり、機密データ(可能であれば機密情報をドッカーイメージの中に入れないようにする)があれば、これは最適な解決策ではありません。