简体   繁体   English

存储在CVS中并发往Linux服务器的Rails应用程序最简单的部署/回滚方案是什么?

[英]What's the simplest deploy/rollback scheme for a Rails app stored in CVS and destined for a Linux server?

I have a Rails app that is stored in CVS because that is our corporate standard. 我有一个存储在CVS中的Rails应用程序,因为这是我们的公司标准。 It needs to be deployed to a single production server that is running Rails using Apache and Phusion Passenger. 需要将其部署到使用Apache和Phusion Passenger运行Rails的单个生产服务器上。

About the production server: 关于生产服务器:

  • RedHat Enterprise Linux 5.1 红帽企业Linux 5.1
  • The app is used internally at our company, not hosted externally. 该应用程序在我们公司内部使用,而不在外部托管。
  • I have root access and can install necessary software. 我具有root访问权限,并且可以安装必要的软件。
  • I have ssh access to the box, and can also run cvs there if needed. 我可以通过ssh访问该框,并且如果需要也可以在其中运行cvs。

Current Solution: 当前解决方案:

I have been using a patched version (a couple of CVS fixes) of capistrano for this, but it's overkill. 为此,我一直在使用capistrano的补丁版本(一些CVS修复),但这太过分了。 (I've looked at vlad the deployer, but it does not support CVS.) I want something simpler, with fewer dependencies/patches. (我研究过vlad部署程序,但它不支持CVS。)我想要更简单的东西,具有更少的依赖项/补丁。

Desired Solution: 所需解决方案:

  • I want deployment to be a single command that checks out the tip of the CVS tree and deploys it. 我希望将部署作为单个命令来签出CVS树的尖端并进行部署。
  • I want rollback to be a single command that reverts to the previously installed version. 我希望回滚是恢复到先前安装版本的单个命令。
  • A couple of Rakefile tasks, or a shell script would be fine. 几个Rakefile任务或一个shell脚本就可以了。
  • Releases need to be uniquely identifiable--either via timestamp, CVS tag, or some sort of version number. 版本必须是唯一可识别的-通过时间戳,CVS标签或某种版本号。

Capistrano is the current gold standard for Rails application deployment; Capistrano是当前Rails应用程序部署的黄金标准。 if you already have it working, why do you want to change it? 如果您已经可以使用它,为什么要更改它?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM