2017-08-28 134 views
0

我在運行自動化測試並生成結果報告的Linux服務器上有一個Jenkins作業。每次作業運行時,將在工作區中創建一個新目錄,並將最新的HTML結果報告及其所需的所有資源放置在該目錄中。最新的HTML測試結果文件的路徑將是(從工作空間的根目錄):.Expando_BLEG/Results/{新創建的目錄} /Execution_Result.html。Jenkins:Generatin鏈接到HTML文件並通過電子郵件發送

我想每次運行Jenkins作業時都會發送一封電子郵件,其中包含最新測試結果HTML文件的鏈接。該鏈接將在電子郵件的正文中。在Email-Ext插件中使用Jelly腳本來做到這一點的方法是什麼?每次作業運行時,Jelly腳本都必須生成不同的鏈接,因爲最新的測試結果HTML文件每次都會位於不同的目錄中。

回答

0

現在我知道這不是你的問題的直接答案。但我確實認爲這可以很好地解決您的問題。這個解決方案將比您提出的解決方案有兩個額外的好處。

它唯一的先決條件是您或您的團隊/項目中的某個人能夠更改測試結果的輸出目錄。

要做到這一點,您需要將測試結果和其他資源的輸出目錄更改爲靜態文件夾。在每次測試運行開始時,您都要確保清理該文件夾。通過刪除所有文件的shell命令或刪除所有未受版本控制的文件的SVN/GIT clean。

然後,您可以使用HTML發佈者插件https://wiki.jenkins.io/display/JENKINS/HTML+Publisher+Plugin。使用它將您的Jenkins作業中的測試結果發佈爲HTML,方法是將其指向您的靜態位置。確保在發佈選項中檢查存檔html頁面。這將確保HTML將存儲在該作業的特定版本中。如果您需要歸檔其他資源,則可以使用歸檔工件後構建步驟執行此操作。

現在所有結果和資源都緩存在特定的構建運行中,並且您需要做的就是在郵件擴展插件中使用$ BUILD_URL爲運行添加鏈接。

正如我所說,這有兩大好處。首先,您的所有測試資源都與特定的測試運行緊密相關。如果你將結果放在一個單獨的位置,將它們連接到一個特定的運行將隨着時間的推移變得越來越困難。

第二個好處是您的資源將遵循特定運行的生命週期。如果您需要一些物品留在那裏,您的主工作區通常很難清理乾淨。這可能會導致您的工作空間隨着時間的推移而增大。當您將所有資源歸檔到作業中時,將刪除構建時清理所有資源。這可以在作業配置中輕鬆配置。