Capistrano

Original author(s)| Jamis Buck, Lee Hambley
Repository| github.com/capistrano/capistrano
Written in| Ruby
Operating system| Linux, OpenBSD, macOS
Type| Deployment tool
License| MIT License
Website| capistranorb.com

Capistrano is an open-source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.

Capistrano is written in the Ruby language and is distributed using the RubyGems distribution channel. It is an outgrowth of the Ruby on Rails web application framework, but it is also used to deploy web applications written using other languages, for example, PHP.

Capistrano is implemented primarily for use on the UNIX shell command line. A user may choose from many Capistrano recipes, e.g. to deploy current changes to the web application or roll back to the previous deployment state.

Originally called SwitchTower, the name was changed to Capistrano in March 2006 due to a trademark conflict.[1] The original author, Jamis Buck, announced on February 24, 2009 that he is no longer the maintainer of the project.[2]

## Contents

* 1 Internals
* 2 Example Capfile
* 3 See also
* 4 References
* 5 Further reading
* 6 External links

## Internals

Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH. It uses a simple domain-specific language borrowed in part from the tool Rake. It also supports tunnelling connections via some gateway machine to allow operations to be performed behind VPNs and firewalls.

Capistrano was originally designed to simplify and automate deployment of web applications to distributed environments, and originally came bundled with a set of tasks designed for deploying Ruby on Rails applications. The deployment tasks are now (as of Capistrano 2.0) opt-in and require clients to explicitly put "load 'deploy'" in their recipes.[3]

## Example Capfile

task :xml_libs, :hosts => "www.capify.org" do
run "ls -x1 /usr/lib | grep -i xml"
end

This defines a single task, called "xml_libs", and says that it should be executed only on the "www.capify.org" host. When executed, it will display all files and subdirectories in /usr/lib that include the text "xml" in their name. Assuming the capfile is in the current directory, the user would execute that task like this:

cap xml_libs

## See also

* Ansible
* Chef
* Harrow
* Salt
* Puppet
* Tsshbatch
* Comparison of open source configuration management software

## References

1. ↑ "SwitchTower: Renamed". weblog.jamisbuck.org. 2006-03-05. http://weblog.jamisbuck.org/2006/3/5/switchtower-renamed.html.
2. ↑ "the { buckblogs :here }: Net::SSH, Capistrano, and Saying Goodbye". Weblog.jamisbuck.org. 2009-02-24. http://weblog.jamisbuck.org/2009/2/24/net-ssh-capistrano-and-saying-goodbye.html. Retrieved 2014-03-21.
3. ↑ "capistrano/README.md at master · capistrano/capistrano · GitHub". Github.com. 2013-06-13. https://github.com/capistrano/capistrano/blob/master/README.md. Retrieved 2014-03-21.

## Further reading

* Zygmuntowicz, Ezra; Tate, Bruce; Begin, Clinton (May 2008). Deploying Rails Applications: A Step-by-Step Guide. ISBN 978-0-9787392-0-1. http://pragprog.com/titles/fr_deploy/deploying-rails-applications.

## External links

* deprec project: Deployment Recipes for capistrano
* Capistrano Changelog
* Fabric, a similar system written in Python
* tsshbatch, another similar system written in Python

* v
* t
* e

Ruby programming language

Implementations|

| Active|

* Ruby MRI; YARV
* mruby
* JRuby
* Rubinius
* MagLev
* RubyMotion

|

Discontinued|

* MacRuby
* IronRuby
* XRuby
* HotRuby

IDE|

* Komodo
* NetBeans
* RadRails
* RubyMine

Applications|

* Capistrano
* Hackety Hack
* Interactive Ruby Shell
* Pry
* Rake
* Redmine
* RSpec
* RubyGems
* RVM
* Chef
* Puppet
* Vagrant
* Homebrew
* CocoaPods
* fastlane (mobile app build automation tools)

Libraries and frameworks|

* Adhearsion
* Camping
* eRuby (RHTML)
* Merb
* Padrino
* RubyCocoa
* Ruby on Rails
* Shoes
* Sinatra
* QtRuby

Server software|

* mod ruby
* Mongrel
* Phusion Passenger (mod_rails/mod_rack)
* Rack
* WEBrick

People|

* Yukihiro Matsumoto
* David Heinemeier Hansson
* why the lucky stiff

Other|

* Document format
* why's (poignant) Guide to Ruby
* Ruby Central
* RubyKaigi
* RubyForge
* Ruby License

* Category
* Commons

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Capistrano&oldid=792018"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template