Jenkins 在 Linux 或 Windows 上运行 Maven 构建

2023-12-10

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

然而,使用Jenkinsfile方法设置此版本时,在 Linux 上该文件需要包含sh mvn install和在窗户上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 or bat:

node {
    def os = System.properties['os.name'].toLowerCase()
    echo "OS: ${os}"
    if (os.contains("linux")) {
      sh "mvn install" 
    } else {
      bat "mvn install"
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 在 Linux 或 Windows 上运行 Maven 构建 的相关文章

  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • 为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?

    我正在写一个光线追踪器 最近 我在程序中添加了线程 以利用 i5 四核上的附加内核 奇怪的是 应用程序的调试版本现在运行速度变慢 但优化后的构建运行速度比添加线程之前更快 我将 g pg 标志传递给 gcc 以进行调试构建 并将 O3 标志
  • NSIS获取参数

    to get n 0值作为字符串 不需要选项 传递给安装程序 我不太明白这个函数的工作原理是什么 GetParameters input none output top of stack replaces with e g whatever
  • 带图像的简单 GUI [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图在简单的 GUI 上显示一些卡
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • 如何根据作业参数设置 Jenkins 环境变量?

    我有一个项目 需要根据用户选择的选择参数设置环境变量 每个项目都有一个主题项目依赖项 我想让用户选择项目 然后从属性文件加载主题名称 就像是 proj1 theme1 proj2 theme2 proj3 theme3 如果用户选择proj
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 使用 terminfo 的终端颜色?

    我正在编写一个 C 类 允许在终端中使用颜色 我希望它适用于每个终端 在支持真彩色 24 位 的终端上打印 在支持它的终端上具有 256 色 6x6x6 其他都是基本的 16 种颜色 我曾经使用 termcap 编写过一次 C 函数 并且我
  • 使用 GDI+ 和 C++ 减少闪烁

    我在 C MFC 应用程序中使用 GDI 每当调整窗口大小时 我似乎都无法避免闪烁 我已经尝试过以下步骤 返回 TRUEOnEraseBkGnd 返回 NULLOnCtlColor 根据此代码使用双缓冲 void vwView OnDraw
  • 在bash中用其他文件过滤一个文件

    我有一个带有数字的文件 例如 cat file 31038467 32048169 33058564 34088662 35093964 31018168 31138061 31208369 31538163 31798862 和其他例如
  • 如何在Windows上安装Xlib(eclipse、c语言)

    好的 我需要使用它进行图形编程 GUI cs 349 uwaterloo 第一次作业 我在谷歌搜索结果中看到随机的 Xlib h 和 Xutil h 文件 但它没有在哪里说明我如何从某个网站安装或下载 Xlib 我什至尝试将 Xlib h
  • Linux 阻塞与非阻塞串行读取

    I have 这段代码 https stackoverflow com questions 6947413 how to open read and write from serial port in c用于在Linux中从串行读取 但我不
  • 期待、互动,然后再次期待

    有几篇关于相同内容的帖子 但我仍然无法使我的期望脚本正常工作 我的目的是自动化一切 但保留用户输入的密码 所以脚本有 3 个部分 自动登录 给予用户交互以输入密码 将控制权交还给 Expect 脚本以继续工作 所以我有一个将生成的脚本 其中
  • %config(noreplace) 文件上出现意外的 RPM 冲突

    我正在创建我自己的RPM using rpmbuild My RPM 包含配置文件哪个应该永远不会被覆盖 即使 RPM 包含这些配置文件的新版本 为了存档这个 我用以下标签标记了它们 config noreplace opt mypacka
  • 在Linux中将日期附加到文件名

    我想在文件名旁边添加日期 somefile txt 例如 somefile 25 11 2009 txt 或 somefile 25Nov2009 txt 或任何类似的内容 也许脚本或终端窗口中的某些命令可以执行 我正在使用Linux Ub
  • 如何使用 swagger-codegen-plugin (maven) 生成客户端代码?

    我需要使用 swagger codegen plugin for maven 在 eclipse 中生成服务器存根代码 你能帮忙怎么做吗 以及需要什么配置 在 pom xml 中 我找到了这个答案 您只需要像下面这样更改 pom xml 即
  • Jetty Plugin 9启动不喜欢icu4j-2.6.1.jar

    我对 mortbay 的 Maven jetty 插件 6 有相同的配置
  • WIX 工具集 - 自定义操作命令无法正确检测 Windows 10 版本

    我有一个安装程序 可以部署并运行单独的 exe文件以将驱动程序部署到系统 不幸的是 微软似乎已经放弃了对VersionNTWindows 10 及更高版本中的宏 所以我实施了另一篇文章中建议的方法 https stackoverflow c
  • SVN 不断提示我输入密码并拒绝缓存我的凭据

    环境 Eclipse Indigo Ubuntu 11 04 Subclipse 1 6 SVN 客户端 Subclipse RabbitVCS 我通过 svn ssh 连接 我的网址如下所示 svn ssh 我的名字 我的域名 路径 我可

随机推荐

  • 警告:非静态数据成员初始值设定项仅适用于 -std=c++11 或 -std=gnu++11? [复制]

    这个问题在这里已经有答案了 我有这个代码 class Move public Move name type num 18 power 0 accuracy 0 type Move string a int b int c int d nam
  • UINavigationController 推送转换期间帧速率低

    我有一个UINavigationController 然后从根视图控制器推送到下一个视图控制器 第二个视图控制器相当 重 因为它有大量的初始化和子视图 我的问题是 过渡动画的表现很糟糕 基本上 动画的帧速率非常低 我从 推 动画中总共得到了
  • 如何使用 JDBC 在 Spring 中创建动态连接(数据源)

    我有一个 Spring 应用程序 我需要获取 Oracle 表的服务器详细信息 并根据某些服务器 ID 在需要时创建动态连接 我怎样才能做到这一点 看看春天的AbstractRoutingDataSource javadoc api 这可以
  • 如何将 json 文件加载到 Angularjs 中以进行 ng-repeat

    我有一个简单的 json 文件 其中包含艺术家姓名列表 例如 Vincent van Gogh Leonardo da Vinci Pablo Picasso 我不知道如何将此外部 json 文件加载到 angularjs 数组中并在其上使
  • 用什么工具画动画网络图

    我想获得复杂图上随机游走的概率分布的动画 我目前使用 Python 和NetworkX用于图形的操作和步行动态的评估 我的目标是制作一个动画 例如 GIF 文件 其中图形的每个节点的大小与其度数 或其他拓扑属性 成正比 颜色与标量属性 概率
  • ObjectListView 强制转换异常(用于命中测试)

    我正在使用 Grammarian 的 ObjectListView 我将旧的列表视图更改为该视图 但我所做的只是填写项目 但是当应用程序启动并且我的鼠标位于列表视图上时 它立即抛出异常 System InvalidCastException
  • 在 SearchView 中放置进度微调器?

    我在我的 Activity 中使用 SearchView 当用户键入时 我正在向服务器执行搜索请求 我想表明一些活动正在发生 是否可以在 SearchView 中显示进度微调器 否则 人们如何处理这个问题 我们是否创建一个自定义操作栏父布局
  • python 右对齐

    我如何证明这段代码的输出是合理的 N int input case print case for i in range N case print case 您可以使用format with gt 右对齐 N 10 for i in rang
  • 非默认版本的 appspot.com 子域上的 SSL

    我想在我的 GAE 应用程序的非默认版本上使用 SSL 对于正常的https my app appspot com我知道我什么都不用做 不过我有另一个版本 该版本位于https v2 my app appspot comSSL 不起作用 它
  • 以正确的 1:1 比例在圆形边框中制作 Font Awesome 图标

    在某些情况下 如果图标的比例不是 1 1 则边框不再是圆形 这是一个例子 我目前正在使用 HTML socials a href i class fa fa facebook i a href i class fa fa twitter i
  • Javascript - 如何将原始对象传递给回调函数

    我遇到的问题专门针对 D3 js 但我之前也遇到过类似的问题 并且最终总是使用 hack 来解决它 我有一个包含对象数组的类 有一个功能可以从 CSV 文件添加新对象 使用d3 csv 该函数采用一个文件名和一个带有一个参数的回调函数 cs
  • 二叉树 - 取消引用指针[关闭]

    Closed 这个问题是无关 目前不接受答案 我只是想编写一个简单的二叉搜索树程序 用户可以在其中插入节点并以中序 前序或后序模式查看树中的所有节点 我的代码是 include
  • MySQL FIND_IN_SET 或等效项可以使用索引吗?

    如果我比较 explain select from Foo where find in set id 2 3 id select type table type possible keys key key len ref rows Extr
  • 使用 C++ 的 CPU ID - windows

    我想使用 C 获取我的计算机 Windows 的 CPU Id I used 这段代码为拿到它 为实现它 它输出类似的信息 For InfoType 0 CPUInfo 0 0x5 CPUInfo 1 0x756e6547 CPUInfo
  • 装箱/拆箱和类型转换有什么区别?

    装箱 拆箱和类型转换有什么区别 通常 这些术语似乎可以互换使用 装箱是指将不可空值类型转换为引用类型或将值类型转换为其实现的某个接口 例如int to IComparable
  • Node.js MongoDB collection.find().toArray 不返回任何内容[重复]

    这个问题在这里已经有答案了 虽然我发现了与我类似的问题 但我无法自己解决问题 在我的 models user 模型中 我想找到所有用户并将它们放入数组中 然后将该数组返回到控制器 我将在其中使用信息 这是我的代码 var mongoData
  • 在 React Native 中从 Firebase 数据库/存储加载并返回图像

    我有一个 Firebase 应用程序设置 其中包含实时数据库中的一系列项目 每个项目都有一个imagePath节点 包含 Firebase 存储 URI 例如 gs bucket images stars jpg 项目数组用于
  • JPanel 上的 KeyListener 随机无响应

    我的项目中的默认 Java KeyListener 遇到问题 我注意到 当我启动时 KeyListener 有时似乎没有转发 KeyEvents 问题症状 启动应用程序时 不处理按键输入 这只是有时发生 有时我必须关闭并启动应用程序 7 8
  • 如何使用 Javascript 动态更改缩放级别?

    我正在尝试找出如何重置 ios 网页中的缩放级别 似乎当用户进行捏放大 缩小时 缩放功能不再起作用 我想要捏合手势 但想以编程方式重置缩放 有人有关于使用 Javascript jQuery 动态改变缩放的想法吗 document read
  • Jenkins 在 Linux 或 Windows 上运行 Maven 构建

    我有一个 Java 应用程序的 Maven 构建 通过键入相同的命令可以在 Linux 或 Windows 上成功运行mvn install 然而 使用Jenkinsfile方法设置此版本时 在 Linux 上该文件需要包含sh mvn i