從Jenkins管道腳本一般調用sh或bat
http://www.voidcn.com/article/p-xwrvekqf-bum.html
我正在開發一個可以在 Windows和 Linux上執行的管道腳本.對於這兩個系統,我需要調用相同的命令(例如python -V).我可以通過輔助函數完成此任務:
def genericsh(cmd) { if (isUnix()) { sh cmd } else { bat cmd } }
然後在我的Jenkinsfile中:
genericsh 'python -V'
這似乎工作正常,但是在執行的每個命令的輸出日誌中會產生額外的isUnix噪聲.
有沒有更好的方法在Jenkins管道腳本中通過Windows和Linux一般性地調用命令?如果沒有,是否有一種機制來抑制管道日誌中的isUnix()步驟標記?
您可以在腳本的早期將isUnix()分配給變量,這意味着您只能看到一次,而不是每個外部命令一次.
env.UNIX = isUnix()
然後
def genericSh(cmd) { if (Boolean.valueOf(env.UNIX)) { sh cmd } else { bat cmd } }