詹金斯的工作与不同的maven版本

时间:2017-12-01 12:13:13

标签: maven jenkins maven-plugin

我有一个maven Jenkins工作,这是多工作的一部分。这曾经常常在Windows节点上运行,但是目前我们已经创建了一些我们想要使用的linux节点。 问题在于,在构建步骤中,您必须选择:

enter image description here

此maven版本适用于构建作业。例如,在这里应用的maven版本链接到为windows安装maven的路径。因此,此路径仅适用于Windows节点,因此,作业不能由linux节点运行。这有解决方法吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用Jenkins管道实现它。只需在Jenkins中设置两个maven配置>全局工具配置。一个用于windows maven,另一个用于linux。

node {
def mvnHome
stage('Build') {
    // Run the maven build
    if (isUnix()) {
        mvnHome = tool 'Maven-linux'
        sh "'${mvnHome}/bin/mvn' clean package "
    } else {
        mvnHome = tool 'Maven-windows'
        bat(/"${mvnHome}\bin\mvn" clean package /)
    }
}

另一种方法是使用Jenkins Conditional build step plugin

  • 创建自由式作业
  • 在构建步骤中选择单个或多个条件步骤。
  • 在奔跑?你可以选择执行shell
  • 在Builder中选择invoke-top-level-maven-target并在maven版本中选择maven-linux。然后,您可以配置maven目标和其他步骤
  • 在Build Step on中再次选择条件步骤单个或多个。
  • 在奔跑?您可以选择执行Windows批处理命令
  • 在Builder中选择invoke-top-level-maven-target并在maven版本中选择maven-window。然后,您可以配置maven目标和其他步骤

Jenkins Job setup for above steps.

答案 1 :(得分:-1)

配置你的linux奴隶:

  • 管理jenkins>管理节点> %node>配置>节点属性
  • 然后在您的奴隶上指定mvn和java并填写工具日期