0
我有一個開源項目,我想用travis-ci來測試。可悲的是它很片斷,我想知道原因。測試寫的非常詳細的日誌文件,所以我想導出這些,失敗後Github Gist。有一些命令行工具可以讓我做到這一點,例如gist-paste
,但是我不知道如何在失敗時才運行它們,並且不會覆蓋unittests的返回碼,也就是說,我仍然喜歡travis-ci注意失敗。在travis-ci失敗時上傳要點
我有一個開源項目,我想用travis-ci來測試。可悲的是它很片斷,我想知道原因。測試寫的非常詳細的日誌文件,所以我想導出這些,失敗後Github Gist。有一些命令行工具可以讓我做到這一點,例如gist-paste
,但是我不知道如何在失敗時才運行它們,並且不會覆蓋unittests的返回碼,也就是說,我仍然喜歡travis-ci注意失敗。在travis-ci失敗時上傳要點
好主意。 Travis CI在構建生命週期中有一個步驟,稱爲after_failure
,在您測試script
步驟運行並失敗後將被解僱,如"customizing the build" documentation page here所述。
在你.travis.yml
文件,都將添加一個after_failure
一步通過調用你的gist-paste
命令,設置相關的Git令牌加密的環境變量,我想以後。然後您可以從many environment variables set by Travis during the build獲取大量關於構建的信息。
感謝您指出'after_failure'步驟。 'gist-paste'的一個缺點是你必須上傳單獨的日誌文件。所以我切換到https://transfer.sh/,它允許我「tar」所有文件(包括工件)並上傳它們。它們會在幾天超時後被刪除,但到那時我應該修復失敗:-) – cdecker
如果'before_install'步驟失敗,'after_failure'會觸發嗎? – user1795832
@ user1795832我不這麼認爲。正如引用自[「自定義生成」](https://docs.travis-ci.com/user/customizing-the-build/#Breaking-the-Build)頁面「如果'before_install','install'或'before_script'返回一個非零的退出代碼,構建是**錯誤**並立即停止。「 – ocean