2010-12-02 23 views
0

我正在制定一個Hudson設置,並且我們的構建過程已經引發了一些障礙。我們一直是一家網上商店,但現在正在做更多的Java項目。我們每隔兩週就會在將以前的標籤發佈到生產環境後立即創建根文件夾的標籤。新標籤進行了2周的測試(並且關鍵更改已合併),同時繼續在主幹上進行開發。大多數提交與java無關,因此不需要每次構建java項目,只檢測到java更改。自動化Hudson中的Repo更改

我想要做的就是設置hudson來輪詢測試標籤中的更改,然後構建並部署到我們的測試服務器。但是,由於我們每兩週發佈一次,測試repo網址將隨之更改。很明顯,我可以手動更新回購網址,但我想自動執行此操作以避免人爲錯誤。有什麼方法可以創建一種svn符號鏈接url,我們可以在發佈時將腳本更改爲指向新標籤?是否有一些腳本機制可以用來運行並自動從CLI更新hudson的repo?任何其他想法來解決這個問題?

回答

1

你如何每兩週重複使用相同的標籤?

按照您使用的過程的描述。當你創建一個發行版時,你會將trunk複製到一個新的標籤中,並進行測試,直到它足夠好(大約兩週)。比你釋放這個標籤。

建議的更改:發佈版本後。您將中繼複製到'ReleaseCandidate'分支。你在那裏測試它直到釋放。發佈時,您會專門創建發佈標籤(例如,Rel_3_5_2),並將發佈候選版本複製到發佈標籤中。現在,您可以重新調整ReleaseCandidate分支並在那裏複製主幹。

你哈德森永遠只是違背了ReleaseCandidate和軀幹


另一個解決方案是使用後commit鉤子的URL傳遞到作業。這個鉤子首先需要找出剛剛更改了什麼標籤並通過這個URL觸發作業。

+0

我結束了與提交後的掛鉤方法。它發現最新的repo目錄並將其與當前提交進行比較。如果它們匹配,則使用適當的repo編輯config.xml文件,將其發佈到hudson,然後調用構建url。謝謝! – nderzero 2010-12-09 17:58:09