gpt4 book ai didi

maven - 带有自定义 settings.xml 的 Jenkins 声明式管道

转载 作者:行者123 更新时间:2023-12-04 03:03:13 25 4
gpt4 key购买 nike

我正在尝试建立一个 Jenkins 声明式管道 与 maven 。到目前为止,我可以让 maven 运行,但我无法让它使用我定义的 Maven Settings.xml。

pipeline{
agent any
tools{
maven 'Apache Maven 3.3'
// without mavenSettingsConfig, my settings.xml is not used. With it, this blows up
mavenSettingsConfig: 'Global Maven Settings'
jdk 'jdk9
}
stages {
stage('Preparation'){
steps{
//code checkout stuff here--this works fine
}
}
stage('Build'){
steps{
sh "mvn clean install -P foo"
}
}
}
}

问题似乎是 mavenSettingsConfig。没有该属性,我无法弄清楚如何设置 settings.xml,并且我的自定义 Maven 内容不起作用。 (例如,配置文件 foo。)使用 mavenSettingsConfig,它会爆炸:

漏洞!源单元“WorkflowScript”中“规范化”阶段的异常意外 NullpointerException....

该文档中有一个很大的 TODO,它将为此提供一个示例!那么我该怎么做呢?

(文档 TODO 在 https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin 。它实际上说“TODO 提供了一个带有 Jenkins 声明式管道的示例”)

最佳答案

我的建议是使用配置文件提供程序插件:https://wiki.jenkins.io/display/JENKINS/Config+File+Provider+Plugin

有了它,您就可以在 Jenkins 的“配置文件管理”屏幕中定义一次配置文件,然后在您的管道中拥有这样的代码:

stage('Build'){
steps{
configFileProvider([configFile(fileId: 'my-maven-settings-dot-xml', variable: 'MAVEN_SETTINGS_XML')]) {
sh 'mvn -U --batch-mode -s $MAVEN_SETTINGS_XML clean install -P foo'
}
}
}

希望能帮助到你

关于maven - 带有自定义 settings.xml 的 Jenkins 声明式管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50727118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com