使用 Capistrano 部署项目

来源:http://www.361way.com/capistrano-deploy/3563.html

简介

Capistrano 是一个 Ruby 程序,它提供高级的工具集来部署你的 Web应用到服务器上。Capistrano 允许你通过 SSH 从源代码控制仓库(SVN 或 Git)复制代码到服务器,并执行如重启 Web服务器、操作缓存、重命名文件、迁移数据库等部署前/后的功能。利用 Capistrano一次也可部署多台机器。

Continue reading

capistrano 自动化项目部署

一、什么是capistrano

A remote server automation and deployment tool written in Ruby

ruby写的自动化集群部署工具,官网:http://www.capistranorb.com/  源码: https://github.com/capistrano/

二、基本原理

原理很简单,就是利用ssh。ssh上服务器—>执行脚本—>返回。虽然简单,但是capistrano做了很多事情,让你比自己写ssh容易太多,而且内置了执行事务,回滚操作。通过capi部署,它会在服务器上维护每次release的版本列表,很方便实现rollback操作。

说到ssh ,就有必要聊到shell的几种模式: non-login  login non-interactive interactive,区别可以google下。capi默认是non-login,non-interactive。原因也提到了,这样会少加载很多不必要的服务器的环境变量,而且也是减少会服务器端环境配置的影响。

服务端环境的变化对capi的来说,是不关心的,也不应该关心。但是这种模式也给脚本编写带来一些不便,后面会提到。

Continue reading