我在RunDeck中有很多Nix和Win环境。
我需要创建一个像“安装监控服务”这样的工作。这应该为linux和windows机器安装和配置一些服务。安装脚本肯定会有所不同。
但是我希望有一个逻辑工作“安装监控服务”,但它应该执行Linux脚本1和Windows脚本2或类似的东西。
在Job定义中有一个过滤器选项,但我无法将其应用于具体步骤,仅适用于整个作业。
看起来我需要一个步骤的过滤器:通过某些过滤器Windows步骤将跳过Linux实例等。
答案 0 :(得分:1)
我使用一个简单的bash代码来启动特定于操作系统的代码。此代码在Windows和Linux节点上运行。它将在Linux节点上运行 GeckoElement clickedElement = e.Target.CastToGeckoElement();
if (xpathvalue != null) {
GeckoHtmlElement element = (GeckoHtmlElement)browser.Document.GetSingleElement(xpathvalue);
if (element != null)
{
element.Click();
}
}
,在Windows节点上运行runLinuxFunction
。
runWindowsFunction
注意:我的所有Windows节点都安装了Cygwin,因此对于Windows,操作系统类型为 #!/bin/bash
function windowsOrLinux() {
if [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
runLinuxFunction #<------------Linux
returnCode=$?
elif [ "$(expr substr $(uname -s) 1 6)" == "CYGWIN" ]; then
runWindowsFunction #<------------Windows
returnCode=$?
else
echo $(hostname) "Unknown OS type. Skip..."
returnCode=1
fi
if [ $returnCode == 0 ]; then
return 0
else
return 1
fi
}
。如果你的windows不支持bash,你可以使用python。