2

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

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

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

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

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

谢谢!!

4

1 回答 1

1

在持续集成/部署方面对您没有多大帮助-在我的工作中,我们使用了 CruiseControl,它的作用与您描述的非常相似,但我与设置它没有任何关系。

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

于 2010-03-27T20:47:16.417 回答