我在RunDeck中有很多Nix和Win环境。
我需要创建一个类似于“安装监控服务”的作业。这应该会为linux和windows计算机安装和配置一些服务。安装脚本肯定会有所不同。
但我希望有一个逻辑作业“安装监控服务”,但它应该执行script1的Linux和script2的Windows,或类似的东西。
在作业定义中有一个过滤器选项,但我不能将其应用于具体步骤,只能应用于整个作业。
看起来我需要一个筛选器来执行一个步骤:通过某些筛选器,Linux实例将跳过Windows步骤,等等。
发布于 2017-03-10 04:28:34
我使用一个简单的bash代码来启动特定于操作系统的代码。这段代码可以在Windows和Linux节点上运行。它将在Linux节点上运行runLinuxFunction,在Windows节点上运行runWindowsFunction。
#!/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节点都安装了Cygwin,所以Windows的操作系统类型是cygwin。如果你的windows不支持bash,你可以使用python。
https://stackoverflow.com/questions/42393139
复制相似问题