Capistrano (Software)
Capistrano
| |
---|---|
Basisdaten
| |
Entwickler | Jamis Buck |
Aktuelle Version | 2.6.0 (4. Mai 2011) |
Betriebssystem | POSIX (Linux, Unix, OpenBSD, Mac OS X u.a.) |
Programmiersprache | Ruby |
Kategorie | Deployment Tool |
Lizenz | MIT-Lizenz |
github.com/capistrano/capistrano/wiki |
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 der mit der Softwarewartung des Projekts befasst sei.[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 urpsrü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]
Siehe auch
- Ezra Zygmuntowicz, Bruce Tate; Clinton Begin: Deploying Rails Applications: A Step-by-Step Guide. 2008, ISBN 978-0-9787392-0-1 (pragprog.com).
Referenzen
- ↑ http://weblog.jamisbuck.org/2009/2/25/net-ssh-capistrano-and-saying-goodbye
- ↑ https://github.com/capistrano/capistrano/blob/master/README.mdown
Externe Links
- offizielle Webseite (englisch)
- Capistranos Quelltext (englisch)
- Capistranos Rubyforge-Projekt (englisch)
- deprec project: Deployment-Rezepte für Capistrano (englisch)
- Capistranos Changelog (englisch)