Capistrano (software)

from Wikipedia, the free encyclopedia
Capistrano

Capistrano logo.svg
Basic data

developer Lee Hambley, Jamis Buck
Current  version 3.11.0
(June 3, 2018)
operating system POSIX ( Linux , Unix , OpenBSD , Mac OS X and others)
programming language Ruby
category Deployment tool
License MIT license
github.com/capistrano

Capistrano is an open source tool for running scripts on multiple servers. Its main purpose is the software distribution of web applications . It automates the process of creating a new application that is available on one or more web servers , including supporting tasks such as changing databases.

Capistrano is written in Ruby and can be installed as RubyGem . It is a by-product of the Ruby on Rails web application framework, but it can also be used for software distribution of web applications written for other frameworks and even in other programming languages, e.g. B. PHP , can be used.

Capistrano is mainly written to be used from the bash command line. Ruby on Rails users have the choice between many Capistrano “recipes”, e.g. B. to distribute and install the current changes to the web application or to return to the previous installation status.

Originally Capistrano was called "SwitchTower", but this name was given up in March 2006 due to a conflict with a brand in favor of "Capistrano".

The original author, Jamis Buck, announced on February 24, 2009 that he was no longer involved in software maintenance for the project and Lee Hambley was taking over.

Internals

Capistrano is a tool and a framework to execute commands in parallel on a number of remote machines at the same time via ssh . It uses a simple, domain-specific language that is partly inspired by the “build tool” rake . Rake serves a similar purpose as make in the world of programming language C and allows tasks to be defined (tasks) that are performed by machines in certain roles. It also supports tunneling connections through gateways to perform operations behind firewalls and VPNs .

Capistrano was originally intended to automate and simplify the deployment processes of web applications in distributed environments. That is why it was originally delivered with a set of tasks that were designed to deploy Rails applications. These deployment tasks are now optional with Capistrano 2.0 and must be explicitly built load 'deploy'into the recipes.

literature

Web links

Individual evidence

  1. weblog.jamisbuck.org
  2. github.com