2011-10-14 62 views
1

我知道这个问题在这里可能被问过很多次,但我没有真正找到一个好的答案。我试图找到一个最简单的解决方案,基本上只是在ec2实例上签出一个git项目,签出特定的分支,然后重新启动apache服务器。ec2在rails中的部署

我不确定Capistrano是否是我需要的。我很好用一些shell脚本或ruby脚本,它们基本上只是调用'git clone ....','git checkout branch ...'和'restart apache server'等命令。

是否有框架让我们我这样做,所以我不必从头开始编写脚本。

+0

[基于Rails的EC2 AMI]的可能重复(http://stackoverflow.com/questions/1653101/rails-based-ec2-ami) –

+0

如果你“知道这个问题可能在这里被问过很多次”,为什么你不是先找? –

+0

我试过但我没有得到一个很好的答案。 – ed1t

回答

0

首先,我们是在谈论“部署”还是关于“获取代码库并复制到服务器”?

在第一种情况下,部署是一组常见的做法,如下:

  • “服务器”抽象
  • 保持版本和回滚能力
  • 数据库迁移,回滚和备份功能
  • 管理后台处理

它实际上是指管理整个堆栈应用程序不仅仅是“重启httpd”或其他东西。

Capistrano开发37signals贡献,他们在许多项目中使用它。很多项目使用capistrano或相同的工具来部署。再看看这个,它很容易设置和使用。