SVN/Git-Hosting bei Beanstalk

Logo von Beanstalk (beanstalkapp.com)Wer häufig Produktionssysteme in verschiedenen Projekten aktualisieren muss, sucht früher oder später nach einer Möglichkeit das ganze zu automatisieren. In professionellen Projekten ist eine anständige Versionsverwaltung wie zum Beispiel SVN oder Git sowieso Voraussetzung. Wenn jetzt das eigene Unternehmen nicht groß genug ist für die Versionsverwaltung eigene Server bereitzustellen, oder die Unternehmensstruktur so aufgebaut ist, dass mehrere Entwickler von den verschiedensten Orten der Welt an einem Projekt arbeiten, denkt man vielleicht darüber nach das Hosting des Sourcecodes auszulagern.

Eine Lösung dafür ist Beanstalk. Nach dem Vergleich von mehreren Anbietern habe ich mich für Beanstalk entschieden. Unter anderem war der Grund die offene Unternehmenspolitik und die Deployment-Features. Gerade die angesprochen Deployment-Features haben mit in der Praxis einige Arbeit abgenommen. Kein stundenlanges schnüren von Paketen die auf dem Server entpackt und angepasst werden müssen. In Beanstalk gibt man einmal an von welchem Branch wohin deployed werden soll und kann jederzeit ein Deplyoment starten. Wenn sich in großen Projekten nur wenige Dateien relativ zum letzten Deplyoment geändert haben, werden auch nur diese veröffentlicht. Wichtig: Es werden auch Dateien gelöscht wenn diese aus dem Repository gelöscht wurden (das hat leider bei anderen Anbietern die ich getestet habe nicht immer ganz so gut funktioniert).

Auch das Zurücksetzen auf eine ältere Version ist kinderleicht.

Ist bei der Entwicklung eines neuen Releases doch mal etwas schief gegangen, oder hat man aus Versehen eine falsche Version “deployed”  ist das auch kein Problem. Genauso leicht wie man eine Version veröffentlicht hat, lässt sich diese auch wieder auf eine frühere zurücksetzen.

Im Notfall ist es natürlich immer so, dass man keinen Zugriff auf seinen eigenen Rechner hat um Modifikationen am Sourcecode vorzunehmen und diese dann entsprechend zu “committen”.

Für das “Durchbrowsen” und Ändern der Repositories bietet Beanstalk auch eine eigene Weboberfläche.

Hier kann man Dateien ändern, löschen, hinzufügen oder sich das Changeset ansehen. Wem das noch nicht ausreicht und noch mobiler sein möchte lädt sich einfach die passende iPhone-App herunter. Da der Anbieter eine API bereitstellt, gibt es auch Plugins und Implementierungen für viele Systeme wie z.B. Basecamp oder GitTower. Mehr Infos zu den verschiedenen Tools finden sich hier.

Das eigene Deplyoment ist dann wirklich schnell eingerichtet.

Die Weboberfläche fragt nach dem Server und den entsprechenden FTP-Zugangsdaten und nach dem Repository-Ordner der veröffentlicht werden soll. Dann kann man sich entscheiden ob automatisch (also z.B. bei jedem Commit) oder manuell deployed werden soll. Ganz so viel Vertrauen habe ich dann doch nicht, weshalb ich mich für “manuell” entschieden habe ;) – Wer möchte kann auch noch Pre- und Post-Deployment-Scripts auf seinem Server anlegen die entsprechend ausgeführt werden. Anwendungsfälle hierfür werden z.b., dass man einen Webshop während des Deplyoments automatisch Maintenance-Mode setzen möchte. Oder man möchte automatisch eine neue Versionsnummer in seinem Bugtracker hinzufügen lassen.

Fazit:

Alles in allem sehr hilfreich und hat auch noch Potential zum Wachsen. Mir hat es zumindest geholfen meine Projekte (hauptsächlich Magento-Shops) ordentlich zu verwalten und ohne Probleme und Stress zu “deployen”. Wer Beanstalk erstmal Testen möchte kann sich einen Trial-Account anlegen. Dieser beinhaltet 100 MB Storage, einen User und ein Repository. Den Bronze-Plan mit 3 GB Storage, 5 Usern und 10 Repositories gibt es dann auch schon für 15 $. Für den Service und vor allem die spätere Zeitersparnis auf jeden Fall erschwinglich.

Mehr Infos zu Beanstalk auf http://beanstalkapp.com/.

Ein Gedanke zu “SVN/Git-Hosting bei Beanstalk

  1. Pingback: Treeline.de – Ein Magento Snowboard Onlineshop | Tim Ullrich – Persönlicher Blog