如何为Django项目设置持续集成和持续部署?

时间:2010-03-27 18:14:12

标签: django selenium hudson fabric

我正在研究如何为基于Django的Web应用程序的小型团队项目设置CI和持续部署。以下是需求:

  • 开发人员将代码签入托管的SVN服务器(unfuddle.com)
  • CI服务器检测到新的签入,签出源,构建,运行功能测试。
  • 如果测试全部通过,请将代码部署到Amazon EC2上的Web服务器。

目前,CI服务器还负责运行功能测试。我发现我可以使用Husdon作为CI服务器,使用Selenium运行功能测试,并使用Fabric将构建部署到Amazon云中的远程Web服务器。

我是Django开发的新手,并不熟悉开源工具。我的问题是:

  1. 我可以找到一些信息来集成hudson和selenium,但我找不到很多关于如何将Fabric集成到Hudson的信息。这种设置是否可行?你看到了问题吗?
  2. 如何集成和部署数据库更改?最有可能在早期阶段,我们将经常通过代码更改来更改数据库架构。我以前使用Visual Studio和数据库项目使部署非常简单。我想知道是否有“已建立,得到良好支持”的方式来做到这一点。
  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

对于持续集成/部署无法帮助你 - 在我的工作中,我们使用了CruiseControl,它的行为与你描述的非常相似,但我没有任何关于设置它。

然而,在回答第二个问题时,关于数据库更改,Django的当前最新技术是使用South,它刚刚发布了0.7版本。它在CI环境中运行良好,因为db迁移与每个应用程序的代码一起存储,因此CI服务器可以设置为在运行测试之前自动运行它们。