在jenkins中處理外部命令7z的異常

2022-02-06 06:13:53 字數 1274 閱讀 7744

powershell中有自己的異常捕獲機制,但是在jenkins中處理第三方工具丟擲的異常時,一直抓不到,疑惑了很久,本篇內容主要描述此次過程及解決方案。

powershell可以處理外部異常

try

catch [system.exception]

執行結果:

將powershell**移植到jenkins中,構建後檢視結果:

結果:

【猜測】:可能是第三方工具7z命令重新啟動了乙個程序,而jenkins沒有能捕獲到這個異常。

換個思路:

7z執行後會返回退出碼,我們可以利用退出碼來判斷7z是否執行成功。

根據上圖可知,當退出碼是0時,表示執行成功!

在powershell中如何獲取返回碼呢?

echo $lastexitcode
在powershell中測試成功和失敗的退出碼:

將此方法應用到jenkins中

結果:

若需要隱藏輸出結果,使用「2>&1」即可將正確錯誤的輸出資訊輸入到某個檔案中。

7z正常執行:

在PHP中執行系統外部命令

php作為一種伺服器端的指令碼語言,象編寫簡單,或者是複雜的動態網頁這樣的任務,它完全能夠勝任。但事情不總是如此,有時為了實現某個功能,必須借助於作業系統的外部程式 或者稱之為命令 這樣可以做到事半功倍。那麼,是否可以在php指令碼中呼叫外部命令呢?如果能,如何去做呢?有些什麼方面的顧慮呢?相信你看...

在PHP中執行系統外部命令

php作為一種伺服器端的指令碼語言,象編寫簡單,或者是複雜的動態網頁這樣的任務,它完全能夠勝任。但事情不總是如此,有時為了實現某個功能,必須借助於作業系統的外部程式 或者稱之為命令 這樣可以做到事半功倍。那麼,是否可以在php指令碼中呼叫外部命令呢?如果能,如何去做呢?有些什麼方面的顧慮呢?相信你看...

在PHP中執行系統外部命令

php作為一種伺服器端的指令碼語言,象編寫簡單,或者是複雜的動態網頁這樣的任務,它完全能夠勝任。但事情不總是如此,有時為了實現某個功能,必須借助於作業系統的外部程式 或者稱之為命令 這樣可以做到事半功倍。那麼,是否可以在php指令碼中呼叫外部命令呢?如果能,如何去做呢?有些什麼方面的顧慮呢?相信你看...