jenkins可以基于代理操作系统有条件地执行shell或Windows命令吗?

我正在尝试构build一个在远程代理上执行程序的工作。 当代理程序在Windows上时,该程序可以是exe程序,或者是在Linux上的程序。 该程序已经部署在代理机器上。 我正在寻找一个解决scheme,它允许我有条件地运行exe(执行Windows批处理命令)或shell(Execute shell),具体取决于代理的操作系统。

到目前为止,我发现有一个运行条件插件( https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin ),这将是伟大的,不幸的是,它没有检查代理的操作系统。

有什么办法可以做到吗? 谷歌没有告诉我什么。

发现似乎工作的东西:

https://www.techiepie.com/2016/04/14/how-to-identify-jenkins-slave-operating-system-in-a-build/

  • 添加条件生成步骤 – 单个或多个。
  • 在运行? 条件选择“Execute Shell”并输入命令echo“IsShell”
  • 提供Linux Shell命令作为条件满足时运行的步骤。
  • 添加另一个条件构建步骤 – 单个或多个。
  • 在运行? 条件选择“执行Windows批处理命令”并输入命令echo“IsWindows”
  • 如果满足条件,则提供Windows批处理命令作为要运行的步骤。