什么是良好的代码部署策略?

时间:2009-03-18 07:26:13

标签: automated-deploy

我正在研究Django项目。我们的团队遵循敏捷实践(TDD,非常短的启动时间等)。

在功能的部署阶段,我们遵循手动过程来将代码部署到我们的生产机器上。在某种意义上的手动过程,手动运行测试用例(整个项目)并手动运行syncdb(或任何最新的db更改)和其他东西。

这种手册每天大约需要半小时。所以我想自动化这个。那么有没有任何自动部署系统或者某些东西可以接受我给出的命令并做我想做的事情,或者只应该手动完成? (使用一个简单的shell文件,它已经获得了我的所有命令。在这种情况下,我需要学习shell编程,因为如果任何测试用例失败,我不想在生产机器中更新我的最新代码。所以这样的排序部署的条件存在,这可能涉及一些shell编程。我猜!)

2 个答案:

答案 0 :(得分:4)

我刚开始研究这个问题,看起来像Capistrano的Python相当于Fabric,虽然可能不那么成熟。似乎有越来越多的人想要转换只是因为卡皮斯特拉诺过于红宝石/铁轨为中心,虽然我没有看到有人抱怨卡皮斯特拉诺无能为力或缺乏。因人而异。更多信息herehere

编辑:看起来Fabric正在经历很多变化。他们将主页移至http://docs.fabfile.org/

答案 1 :(得分:1)

因此,在敏捷方面,您已经确定了部署过程中的重复,现在您正在寻找重构方法。 ; - )

在Ruby / Rails世界中,你首先转向CapistranoVlad The Deployer,在Python / Django世界中,你会转向等效的,除了AFAIK,没有一个

this post开始,Capistrano已成功用于处理Django部署,因此这是一个值得探索的选择。

除此之外,为什么还需要shell编程?你有一个超强大的Python脚本语言 - 为什么不自动化你的手动过程呢?