我正在運行sh腳本作爲我的.travis.yml的一部分。它給了我下面的錯誤,儘管shell腳本沒有失敗。在travis CI上運行sh腳本:用1
的命令1.
退出我試着使用bash -x調試運行,並沒有錯誤。 問題是,Travis認爲構建失敗,但它通過。
我正在運行sh腳本作爲我的.travis.yml的一部分。它給了我下面的錯誤,儘管shell腳本沒有失敗。在travis CI上運行sh腳本:用1
的命令1.
退出我試着使用bash -x調試運行,並沒有錯誤。 問題是,Travis認爲構建失敗,但它通過。
如man bash
頁解釋:
殼牌內置命令返回狀態0(真),如果成功,和 非零(假)如果在它們的執行錯誤發生 。所有內置函數返回2的退出狀態以指示不正確的用法。除非發生了語法錯誤,在這種情況下它具有非零值 離開
擊本身返回最後執行的命令的退出狀態, 。另請參見下面的exit builtin命令。
最後執行的命令是:
[ "$BUILD_CHROMIUM" == 1 ] &&_build_chromium_crx "${zip_file}" "${BUILD_METADATA[${CHROMIUM_TARGET}]}"
而且它被評價爲具有false
退出狀態1:
'[' 0 == 1 ']'
所以在這行的末尾添加|| true
修復它。退出狀態將始終爲0
另外,使用該修復程序更適合您的代碼像exit 0
的預期行爲等
退出[N ]導致shell以狀態n退出。如果省略n,則退出狀態是最後執行的命令的狀態。在shell終止之前執行EXIT 上的陷阱。
所以你乾淨的功能trap _clean_chrome EXIT
不是最後被執行。
有關退出狀態here的更多信息。
你的.travis.yml是什麼樣的?劇本里有什麼? – meatspace
https://github.com/mosaadm/mooltipass/blob/master/.travis.yml – mosaad