Capistrano, Rake和RubyGems

想要实现PHP代码的自动部署 ,于是发现了 Capistrano,一个可以通过SSH登录不同的服务器完成文件的上传以及命令的执行。在我看来,Capistrano的主要优点是:

1. 多主机同时部署

    还可以根据DB,Web和App服务器的角色不同,执行不同的操作。

2. 通过SSH在主机上执行命令

     比如修改目录权限和创建数据库什么的,可以通过SSH自动完成还真方便。

3. 支持回滚(Rollback)

      如果发现发布的版本有问题,可以直接回滚到前一个版本。服务器上保存了每次发布的版本,可以简单的通过符号链接(Symlink)进行切换,保证了事务操作。

不仅如此,还可以配置Apache服务器,包括重启 FastCGI(原来Web和App服务器是可以分开在不同的服务器上的,这才第一次了解)。再仔细看,Capistrano原来是基于 Rake实现的,一个完全基于ruby的构建工具,类似make和ant。但是跟后两者不同的是,rake的构建脚本完全是基于ruby语法的,用 Martin Fowler的话来说就是Internal DSL。ruby灵活的语法,让这一切成为可能,虽然感觉有点别扭。但是,总比重新发明一个语言,还要专门写一个解释器要好很多。

Capistrano的安装很简单,只要在命令行里输入 " gem install capistrano",就搞定了。这又让我对RubyGems产生了兴趣,它是如何做到这一点的呢?结果,你猜怎么样,Gem也是用rakefile来描述的!

脚本语言的强大之处,就是其灵活性。以前在C++,Java和C#里需要用配置文件来完成的工作,在ruby等脚本语言里根本没有必要,直接修改代码就可以了。因为配置文件的出现,就是为了避免重新编译,而脚本语言恰恰就不用编译!所以,经常看到从Java转向PHP的程序员,在php上实现java烦琐的机制,完全失去了脚本语言的灵活性!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值