Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何运行依赖于jenkins从属操作系统的jenkins预构建步骤?_Windows_Macos_Glassfish_Jenkins - Fatal编程技术网

Windows 如何运行依赖于jenkins从属操作系统的jenkins预构建步骤?

Windows 如何运行依赖于jenkins从属操作系统的jenkins预构建步骤?,windows,macos,glassfish,jenkins,Windows,Macos,Glassfish,Jenkins,在我的公司,jenkins配置了一个Windows从机和一个Mac从机。我们希望有一个Glassfish域作为预构建步骤启动,而域作为后构建步骤停止 据我所知,我必须在windows上运行“windows批处理文件预构建步骤”,在Mac上运行“shell脚本预构建步骤” 我可以把这两个都放在预构建步骤中吗?或者我应该使用其他解决方案(如果是,是哪一种)?您不能将两者放在同一份工作中。当作业在Mac slave上运行时,“windows批处理”将失败。当作业在Windows slave上运行时,“

在我的公司,jenkins配置了一个Windows从机和一个Mac从机。我们希望有一个Glassfish域作为预构建步骤启动,而域作为后构建步骤停止

据我所知,我必须在windows上运行“windows批处理文件预构建步骤”,在Mac上运行“shell脚本预构建步骤”


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

您不能将两者放在同一份工作中。当作业在Mac slave上运行时,“windows批处理”将失败。当作业在Windows slave上运行时,“shell”将失败

你为什么要把两者都加上?我知道您需要相关的预构建步骤,但为什么要尝试使作业在Mac或Windows上执行?通常,运行Mac从机有特定的用途(例如执行无法在窗口上完成的Xcode iOS构建),并且您将该作业限制为仅在Mac从机上运行

如果您确实需要能够运行Windows或Mac shell,那么您应该看看XShell插件

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