Seit ein paar Tagen setze ich mich wieder intensiv mit dem Zend Framework auseinander und bastle an einer Applikation. Um meine Änderungen einfach nachzuverfolgen habe ich mir ein Subversion-Repository auf meinem Server eingerichtet. Um in verschiedenen Testumgebungen die Applikation testen zu können, soll diese automatisch in einen Webroot “deployed” werden. Hierzu habe ich ein kleines Skript geschrieben, welches sind an den post-commit-Mechanismus von Subversion hängt und darüber den Export steuert.
Die Funktionsweise ist simpel, es wird einfach ein Checkout des Repository gemacht and anschließend bei jedem commit ein “svn update” auf das Checkout-Verzeichnis. Zunächst wird daher in den Webroot gewechselt, wo das Update hin soll. Dort wird der Checkout ausgeführt:
|
|
Dankbarerweise werden die Userdaten im Cache abgelegt, daher sollte man die .svn-Verzeichnisse über eine Direktive schützen, sodass diese nicht für Webserver-Nutzer abrufbar sind. Für den Apache sieht das so aus:
|
|
Doch nun zum eigentlichen Script. Dieses Skript legt man als “post-commit-export.sh” im “hook”-Verzeichnis des SVN-Verzeichnisses auf dem Server ab:
|
|
Nun muss es noch eingebunden werden. Dazu muss in die Datei “post-commit
” folgende Zeile eingetragen werden:
|
|
Die Dateien post-commit-exporter.sh und post-commit müssen dann noch mit dem Ausführungsbit gekennzeichnet werden:
|
|
Und das wars ;)