Capistrano (Software)
Capistrano | |
---|---|
Basisdaten
| |
Entwickler | Lee Hambley, Jamis Buck |
Betriebssystem | POSIX (Linux, Unix, OpenBSD, Mac OS X u. a.) |
Kategorie | Deployment Tool |
github.com/capistrano |
Capistrano ist ein Open-Source-Werkzeug, um Skripte auf mehreren Servern laufen zu lassen. Sein Hauptzweck besteht in der Softwareverteilung von Webapplikationen. Es automatisiert den Prozess der Erstellung einer neuen Applikation, die auf einem oder mehreren Webservern verfügbar ist, einschließlich unterstützender Aufgaben wie Änderungen von Datenbanken.
Capistrano ist in Ruby geschrieben und kann als RubyGem installiert werden. Es ist ein Nebenprodukt des Ruby on Rails Webapplikationsframeworks, aber es kann auch für die Softwareverteilung von Webapplikationen, die für andere Frameworks und sogar in anderen Programmiersprachen, z. B. PHP, geschrieben wurden, verwendet werden.
Capistrano ist hauptsächlich dafür geschrieben worden, dass man es von der bash-Kommandozeile aus verwendet. Verwender von Ruby on Rails haben die Wahl zwischen vielen Capistrano-„Rezepten“, um z. B. die aktuellen Änderungen der Webapplikation zu verteilen und installieren oder um zum vorigen Installationszustand zurückzukehren.
Ursprünglich wurde Capistrano „SwitchTower“ genannt, jedoch wurde dieser Name im März 2006 wegen eines Konflikts mit einer Marke zugunsten von „Capistrano“ aufgegeben.
Der ursprüngliche Autor, Jamis Buck, hat am 24. Februar 2009 angekündigt, dass er nicht mehr mit der Softwarewartung des Projekts befasst sei, und Lee Hambley übernahm.[1]
Interna
Capistrano ist ein Hilfsmittel und ein Framework, um Befehle parallel auf einer Anzahl entfernter Maschinen gleichzeitig via ssh auszuführen. Es verwendet eine einfache domänenspezifische Sprache, die teilweise durch das „Build tool“ rake inspiriert ist. Rake erfüllt einen ähnlichen Zweck wie make in der Welt der Programmiersprache C und erlaubt es, Tasks (Aufgaben) zu definieren, die von Maschinen in bestimmten Rollen ausgeführt werden. Es unterstützt auch Verbindungen über Gateways zu tunneln, um Operationen hinter Firewalls und VPNs auszuführen.
Capistrano war ursprünglich dafür vorgesehen, die Deploymentprozesse von Webapplikationen in verteilten Umgebungen zu automatisieren und vereinfachen. Deshalb wurde es ursprünglich mit einer Ausstattung von Tasks ausgeliefert, die dafür entworfen waren, Rails-Applikationen zu deployen. Diese Deployment-Tasks sind heute mit Capistrano 2.0 optional und müssen explizit mit load 'deploy'
in die Rezepte eingebaut werden.[2]
Literatur
- Ezra Zygmuntowicz, Bruce Tate; Clinton Begin: Deploying Rails Applications: A Step-by-Step Guide May 2008, ISBN 978-0-9787392-0-1.
Weblinks
- Offizielle Webseite (englisch)
- Capistranos Quelltext (englisch)
- Capistranos Rubyforge-Projekt (englisch)
- deprec project: Deployment-Rezepte für Capistrano (englisch)
- Capistranos Changelog (englisch)