2012-12-06 21 views
0

在我的公司,jenkins配置了一个Windows从属和(即将推出)一个Mac从属。我们希望将Glassfish域作为预构建步骤启动,并将域停止为后构建。如何运行取决于jenkins slave OS的jenkins预生成步骤?

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

我可以把这两个在预先构建步骤?或者我应该使用其他解决方案(如果是,哪一个)?

回答

2

你不能把两者都放在同一个工作中。当作业在Mac从机上运行时,“windows批处理”将失败。当作业在Windows从机上运行时,“shell”将失败。

你为什么要加入?我知道你需要相关的预构建步骤,但是为什么你想让这个工作通用在Mac或Windows上执行?通常运行Mac从站服务于特定目的(例如执行无法在Window上完成的Xcode iOS构建),并限制该作业仅在Mac从服务器上运行

如果您确实需要能够运行Windows或Mac外壳,那么您应该看看XShell插件
https://wiki.jenkins-ci.org/display/JENKINS/XShell+Plugin

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