什麼是確定當前OS一詹金斯管道運行方式的?如何確定當前的操作系統在詹金斯管道
語境:我建設,應該在所有平臺上運行的共享詹金斯管道腳本(在Windows,OSX和Linux)並執行一些在各個平臺不同。
我想是這樣的:
import org.apache.commons.lang.SystemUtils
if (SystemUtils.IS_OS_WINDOWS){
bat("Command")
}
if (SystemUtils.IS_OS_MAC){
sh("Command")
}
if (SystemUtils.IS_OS_LINUX){
sh("Command")
}
但是,即使它是在Windows或Mac node
運行它總是進入SystemUtils.IS_OS_LINUX
分支
我試過一個快速管道這樣。
node('windows ') {
println ('## OS ' + System.properties['os.name'])
}
node('osx ') {
println ('## OS ' + System.properties['os.name'])
}
node('linux') {
println ('## OS ' + System.properties['os.name'])
}
每個節點得到正確的機器用正確的操作系統,但它們都打印## OS Linux
任何想法運行?
感謝 菲德
你怎麼測試您的管道? – moritzg