我正在开发我的第一个rails应用程序,并且正在努力寻找一种高效且干净的解决方案来执行自动签出和部署。Rails中的自动化部署
到目前为止,我已经看过CruiseControl.rb(已经熟悉CruiseControl.NET)和Capistrano。不幸的是,除非我错过了一些东西,否则他们每个人只能做到我想要的大约一半(每个人做不同的一半)。
为了什么我迄今所看到的:
CruiseControl的
- 优势
- 自动建立在基于资源库检出提交
- 也可以运行单元/功能测试,并报告
- Weaknesse小号
- 没有内置的部署机制(最好我能找到到目前为止是写自己的bash脚本)
Capistrano的
- 优势
- 专为部署
- 弱点
- 必须通过命令(即,没有做自动结帐时提交)
我发现的方式,我可以串两人在一起 - 即有CruiseControl的平更改资料库,做到在提交时检出,运行测试等等,然后在完成部署时(即使Capistrano也要执行存储库检出),然后打电话给Capistrano。
基本上,当一切都说过和做过,我想有设置三个项目:
- 开发:结帐/部署是完全没有接触。当某人提交一个文件时,某些东西检查出来,运行测试,部署更改并报告回来
- 阶段:签出/部署需要点击按钮
- Prod:按钮点击会执行标记签出或移动来自舞台的文件
我在.NET世界中使用了CruiseControl.NET和MSBuild的组合,并且它非常简单。我猜想这也是ruby部署世界中的一种常见模式,但我很容易被误解。