從Jenkins管道腳本一般調用sh或bat

從Jenkins管道腳本一般調用sh或bat

http://www.voidcn.com/article/p-xwrvekqf-bum.html

我正在開發一個可以在 WindowsLinux上執行的管道腳本.對於這兩個系統,我需要調用相同的命令(例如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
   }
}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章