2010-03-27 61 views
2

我正在研究如何爲基於Django的Web應用程序的小型團隊項目設置CI和連續部署。下面是需要:如何爲Django項目設置持續集成和持續部署?

  • 開發人員檢查代碼爲SVN託管服務器(unfuddle.com)
  • CI服務器檢測到新的簽入,簽出源代碼,構建,運行功能測試。
  • 如果測試全部通過,請將代碼部署到Amazon EC2上的Web服務器。

現在,CI服務器還負責運行功能測試。我發現我可以使用Husdon作爲CI服務器,使用Selenium運行功能測試,並使用Fabric將構建部署到Amazon雲中的遠程Web服務器。

我是Django開發新手,對開源工具不太瞭解。我的問題是:

  1. 我可以找到一些信息整合哈德森與硒,但我找不到有關如何將織物整合到哈德森以及。這個設置是否可行?你看到問題嗎?
  2. 如何整合和部署數據庫更改?很可能在早期階段,我們會通過更改代碼來經常更改數據庫模式。我曾經使用Visual Studio和數據庫項目使其部署非常簡單。我想知道是否有「既定的,有效的支持」的方式來做到這一點。

謝謝!!

回答

1

對於持續集成/部署無法幫助您 - 在我的工作中,我們使用了CruiseControl,它的行爲與您描述的非常相似,但我沒有設置它。

但是在回答第二個問題時,關於數據庫更改,Django的最新技術狀態是使用South,它剛剛發佈了0.7版本。它在CI環境中運行良好,因爲數據庫遷移與每個應用程序的代碼一起存儲,所以可以將CI服務器設置爲在運行測試之前自動運行它們。

+0

感謝您的建議南! – ycseattle 2010-03-28 01:15:00