Jenkins在Linux或Windows上运行Maven构建
我有一个Java应用程序的Maven构建,可以通过键入相同的命令在Linux或Windows上成功运行mvn install。
然而,使用Jenkinsfile方法设置此生成,在Linux上文件需要包含sh
mvn install和Windows bat mvn install。
如果在Windows上正确配置了路径和工具,则日志显示:
[Pipeline] sh[C:\tools\jenkins\workspace\DSL\master] Running shell script
sh: C:\tools\jenkins\workspace\DSL\master@tmp\durable-60527040\script.sh: command not found
有没有办法让单个Jenkinsfile允许在两种环境中构建?
回答:
管道脚本可以包含常规代码,因此if允许分支。您可以使用System.properties['os.name']并根据结果,用途sh或来测试您的环境bat:
node {    def os = System.properties['os.name'].toLowerCase()
    echo "OS: ${os}"
    if (os.contains("linux")) {
      sh "mvn install" 
    } else {
      bat "mvn install"
    }
}
以上是 Jenkins在Linux或Windows上运行Maven构建 的全部内容, 来源链接: utcz.com/qa/409790.html
