系统相关
首页 > 系统相关> > Jenkins在Linux或Windows上运行Maven构建

Jenkins在Linux或Windows上运行Maven构建

作者:互联网

我有一个Maven构建的Java应用程序,可以通过键入相同的命令mvn install在Linux或Windows上成功运行.

但是,使用Jenkinsfile method设置此版本,在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允许在两个环境中构建?

解决方法:

管道脚本可以包含groovy代码,因此允许使用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"
    }
}

标签:linux,windows,maven,jenkins,jenkins-pipeline
来源: https://codeday.me/bug/20190608/1199268.html