Meo*_*ode 9 maven jenkins jenkins-pipeline
我正在尝试用maven 建立一个Jenkins 声明管道.到目前为止,我可以让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"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题似乎是mavenSettingsConfig.没有该属性,我无法弄清楚如何设置settings.xml,我的自定义maven东西不起作用.(例如,配置文件foo.)使用mavenSettingsConfig,它会爆炸:
BUG!源单元'WorkflowScript'中的'规范化'阶段中的异常意外NullpointerException ....
文档中有一个很大的TODO,它将为此提供一个示例!那我该怎么做?
(文档TODO在https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin.它实际上说"TODO提供了Jenkins声明管道的样本")
Fra*_*rot 13
我的建议是使用Config File Provider插件: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'
}
}
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
您必须在 jenkins 中声明和 maven 安装,
Managed Jenkins > Global Tools configuration
并添加名为 M3 的 maven 安装。
在您必须注册您的设置文件后:
manage jenkins > Managed files
Run Code Online (Sandbox Code Playgroud)
并添加您的设置文件
在此之后,您可以将 WithMaven 函数与您的注册表文件一起使用,如下所示:
steps {
withMaven(maven: 'M3', mavenSettingsConfig: 'mvn-setting-xml') {
sh "mvn clean install "
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8381 次 |
最近记录: |