当前位置: 首页 > 面试题库 >

Jenkins在Linux或Windows上运行Maven构建

陶高峻
2023-03-14
问题内容

我有一个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"
    }
}


 类似资料:
  • 本文向大家介绍在Windows 10上原生运行Linux,包括了在Windows 10上原生运行Linux的使用技巧和注意事项,需要的朋友参考一下 微软已经推出了适用于Linux的WSL子系统,它使用户可以直接从Windows 10运行自己喜欢的Linux发行版,而无需双启动或使用虚拟机。 适用于Linux的Windows子系统的局限性 尽管这是朝Microsoft正确方向迈出的一步,但就完整功能

  • 如何在linux命令行中从maven命令运行文件?

  • 我创建了一个测试项目(maven)来测试REST API的性能。我正在使用Jeter插件 这是我的pom片段 我有一个Jenkins文件在我的项目像这样 当我触发Jenkins上的构建时,构建成功了,我在控制台输出中看到了这一点 问题是,它什么也做不了。Performace趋势图没有显示任何东西。 如果我在本地机器上运行相同的项目,它工作得非常好。我在日志中看到类似的东西,证实了这一点。生成的输出

  • 我正在jenkins上运行一组测试,我得到以下结果: 好的东西告诉我行: maven-surefire-插件: 2.16是这里的问题,所以这里是我的pom文件检查: 我已经检查了maven仓库中的插件,我看到的唯一区别是插件标签中有插件,而在网站中它是在依赖标签中。 这里可能有什么错误? 谢谢 注:抱歉纯文本,但我不知道如何给代码上色=/

  • 问题内容: 我有一种情况,我需要运行 一个 从窗户经常Linux shell命令(用不同的文件名)。我正在使用PuTTY和WinSCP来执行此操作(需要登录名和密码)。该文件通过WinSCP复制到linux机器中的预定义文件夹,然后从PuTTY运行命令。有没有一种方法可以使我通过程序自动执行此操作。理想情况下,我想从Windows右键单击该文件,然后发出命令,该命令会将文件复制到远程计算机,并以文

  • Windows---------------: Linux---------- 那么,什么是主要的原因是这个问题,看起来一切都好从其他的选择 Apache Maven 3.6.0(97C98EC64A1FDFEE7767CE5FFB20918DA4F719F3;2018-10-24T14:41:47-04:00)Maven主页:/home/user/tools/Maven/apache-maven