2012-04-13 32 views
0

我正在運行通過Windows批處理腳本構建。如果構建失敗,它不會發送郵件給開發人員,他們打破了構建。 你能幫助我嗎? Registers Akilan哈德森 - Windows批處理腳本 - 構建

+1

有更多的信息需要形成一個很好的答案。哈德森是否將構建標記爲失敗?如果批處理命令失敗,是否返回非零值?您是否測試過主要Hudson配置窗口中的電子郵件? – jwernerny 2012-04-13 11:43:41

回答

1

使您的批處理腳本設置退出代碼(錯誤級別),表示批處理腳本的成功或失敗。這應該向哈德森表明批處理文件失敗。以零錯誤級別退出表示成功,非零表示失敗。如果批處理文件調用其他應用程序(編譯器等),則可以使用它們各自的退出代碼來設置批處理文件的錯誤級別。

例如

@echo off 
compiler.exe sourcefile.abc 
exit /B %ERRORLEVEL% 

最後一行將返回compiler.exe的退出代碼爲您的批處理文件的返回碼。 如果批處理文件中有多個執行,則可以使用IF ERRORLEVEL測試每個exceution之間的錯誤級別,並在檢測到非零錯誤級別時失敗。

此外,請記住測試電子郵件發送功能使用測試工具找到你在哪裏配置smtp服務器等內部的哈德森/詹金斯配置。

+0

謝謝安德烈斯,之後也哈德森不發送郵件給食譜。出現此錯誤「嘗試發送電子郵件給收件人的空列表,被忽略。」 完成:失敗 – Aki 2012-04-17 09:44:44

+0

如果您查看構建概述(http://www.beroux.com/articles/hudson/hudson- build-screenshot.png)在失敗的構建的「更改」部分,是否有任何更改報告觸發構建?如果您單擊更改的詳細信息鏈接,您是否可以看到哪些用戶提交了更改?如果是這樣,如果您單擊更改的用戶名稱,該用戶是否具有在哈德森中配置的電子郵件地址,以便哈德森知道發送電子郵件的位置? – 2012-04-17 14:41:34

+0

非常感謝Andres!我已經標記了這個(已啓用)發送單獨的電子郵件給打破構建的個人如果選中此選項,通知電子郵件將發送給對已損壞構建進行更改的個人(通過假設這些更改打破了建立)。如果電子郵件地址也在收件人列表中指定,則個人以及指定的地址都會收到通知電子郵件。 「如果收件人清單是空的,那麼只有個人會收到電子郵件」。你能解釋一下這個場景嗎 – Aki 2012-04-20 10:11:21