我正在尝试构建一个将在远程代理上执行程序的作业。当代理在Windows上时,程序是exe,或者在Linux上是shell脚本。该程序已部署在代理计算机上。我正在寻找一种解决方案,允许我有条件地运行exe(执行Windows批处理命令)或shell(执行shell),具体取决于代理的操作系统。
到目前为止,我发现有一个运行条件插件(https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin),这将是非常好的,不幸的是它没有检查代理的操作系统。
有没有办法实现这一目标?谷歌什么都没告诉我。
答案 0 :(得分:3)
找到了似乎有用的东西:
https://www.techiepie.com/2016/04/14/how-to-identify-jenkins-slave-operating-system-in-a-build/
答案 1 :(得分:0)
我发现避免输出中出现任何异常的解决方案是:
对于Windows,比较以下字符串是否匹配:
${ENV,var="OS"}
Windows_NT
对于Linux,比较以下字符串是否匹配:
${ENV,var="OS"}
(第二个字符串留空。)