Jenkins可以根据代理OS有条件地执行shell或Windows命令吗?

Pio*_*yra 5 linux windows shell batch-file jenkins

我正在尝试构建一个将在远程代理上执行程序的作业.当代理在Windows上时,程序是exe,或者在Linux上是shell脚本.该程序已部署在代理计算机上.我正在寻找一种解决方案,允许我有条件地运行exe(执行Windows批处理命令)或shell(执行shell),具体取决于代理的操作系统.

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

有没有办法实现这一目标?谷歌没有告诉我什么.

Pio*_*yra 3

发现一些似乎有效的东西:

\n\n

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

\n\n
    \n
  • 添加条件构建步骤 \xe2\x80\x93 单个或多个。
  • \n
  • 在运行?条件选择\xe2\x80\x9c执行Shell\xe2\x80\x9d并输入命令 echo "IsShell"
  • \n
  • 提供 Linux Shell 命令作为满足条件时运行的步骤。
  • \n
  • 添加另一个条件构建步骤 \xe2\x80\x93 单个或多个。
  • \n
  • 在运行?条件选择\xe2\x80\x9c执行 Windows Batch Commands\xe2\x80\x9d 并输入命令 echo "IsWindows"
  • \n
  • 提供 Windows 批处理命令作为满足条件时运行的步骤。
  • \n
\n