2009-12-22 70 views
1

我想爲每個構建發佈某些文件,無論成功/失敗。在我的情況下,我想發佈一個由我們已經實現的JUnit RunListener實現生成的報告,但是我也會發現發佈其他日誌文件以及我感興趣的任何其他特定文件很有用。在Hudson發佈失敗/損壞的文件/文件?

我知道TeamCity這是開箱即用的。哈德森可能嗎? DocLinks插件和「存檔工件」複選框似乎只適用於成功構建。

在此先感謝

+0

這是一個重複的http://stackoverflow.com/questions/1487378/hudson-save-artifacts-only-when-less-than-90-passes – 2009-12-23 12:40:35

+0

我看到這篇文章,並同意解決方案似乎是該張貼的副本。然而,問題並不重複 - 有點簡單,因爲我不在乎通過什麼%通行證,所以我認爲值得問這個問題偶爾可能會有一個簡單的解決方案;-) – 2009-12-23 21:42:35

回答

3

即使對於失敗的構建,「存檔工件」功能也會啓用。如果沒有,我認爲這是一個嚴重的錯誤。你使用的是哪個版本的哈德森?

+0

非常感謝 - 我的疏忽。我以爲我曾經在某處讀過它沒有爲失敗的版本做這件事。我已啓用此選項,它的工作方式與我想要的完全一樣。謝謝! – 2010-01-04 23:34:50

0

我認爲到目前爲止,哈德森運行JUnit測試時,標誌着一個工作不穩定,而不是失敗。

但是,如果您不想創建自己的插件,則可以使用解決方法。基本的想法是在告訴Hudson有問題之前,讓Hudson隱瞞最初的失敗並做任何需要做的事情。

有不同的方法。

  1. 總是隱藏哈德森的錯誤,工作永遠不會失敗,但是,報告將始終發佈。缺點是,你需要監控工作/報告,因爲哈德森不會告訴你存在問題。

  2. 捕捉到哈德遜以外的錯誤,比你在哈得遜以外發布的錯誤還要多,並且告訴哈德森有一個錯誤,讓哈德森去做其餘的事情。

+0

感謝您的答案,彼得。沒有您提出的修復程序,看起來沒有任何問題。我會進一步瞭解你所建議的選項,最糟糕的情況是隻在最後一個版本的目標目錄中有報告,並告訴人們自己檢查它。 – 2009-12-23 21:39:55

+0

您可以隨時直接鏈接到最新版本和最新的構建報告,而無需發佈版本號,例如http:// /job//lastBuild/testReport – 2009-12-23 21:50:08