我正在配置一个主Jenkins来启动kubernetes的奴隶。
当奴隶启动它的管道时,我需要他从主人那里读取(或复制)一个maven settings.xml
。
使用kubernetes插件,我还没有找到办法。
有什么建议吗?
答案 0 :(得分:2)
也许詹金斯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
动态更改或包含任何类型的敏感数据(如果可能,应避免将敏感信息放入docker镜像中),这将不是最佳解决方案。