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

Basisdaten

Entwickler Lee Hambley, Jamis Buck
Aktuelle Version 3.18.1[1]
(10. März 2024)
Betriebssystem POSIX (Linux, Unix, OpenBSD, Mac OS X u. a.)
Programmiersprache Ruby
Kategorie Deployment Tool
Lizenz MIT-Lizenz[2]
github.com/capistrano

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.[3]

Interna Bearbeiten

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.[4]

Literatur Bearbeiten

  • Ezra Zygmuntowicz, Bruce A. Tate, Clinton Begin: Deploying Rails Applications: A Step-by-Step Guide. Pragmatic Bookshelf, Raleigh 2008, ISBN 978-0-9787392-0-1.

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. Release 3.18.1. 10. März 2024 (abgerufen am 21. März 2024).
  2. github.com. In: GitHub. (abgerufen am 26. März 2017).
  3. weblog.jamisbuck.org
  4. github.com