繁体   English   中英

如何运行依赖于jenkins slave OS的jenkins预构建步骤?

[英]How to run a jenkins pre-build step that depends upon the jenkins slave OS?

在我的公司,jenkins配置了一个Windows奴隶和(即将推出)一个Mac奴隶。 我们希望将Glassfish域作为预构建步骤启动,并将域作为构建后停止。

根据我的理解,我必须在Windows上运行“Windows批处理文件预构建步骤”,并在Mac上运行“shell脚本预构建步骤”。

我可以将它们都放在预构建步骤中吗? 或者我应该使用其他解决方案(如果是,哪一个)?

你不能把两者放在同一份工作上。 当作业在Mac slave上运行时,“windows batch”将失败。 当作业在Windows slave上运行时,“shell”将失败。

你为什么要加两个? 我知道您需要相关的预构建步骤,但为什么要尝试在Mac或Windows上执行通用作业? 通常运行Mac从站服务于特定目的(例如执行无法在窗口上执行的Xcode iOS构建),并且您将该作业限制为仅在Mac从站上运行

如果你真的需要能够运行Windows或Mac shell,那么你应该看看XShell插件
https://wiki.jenkins-ci.org/display/JENKINS/XShell+Plugin

它允许您在Windows shell或Mac shell上执行“shell”步骤。 该插件将负责调用正确的shell,甚至会为您执行文件分隔符转换(它将使用\\用于Windows,和/用于Linux / Mac shell),但是您放在那里的命令必须在两个shell中都可执行(即它不会为你翻译rmdel )。 插件页面给出了如何将命令“包装”到批处理和shell文件中的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM