You are here

Sandkastenspiele I - Automatisches "svn update"

Ich habe ein Repository tests, in dem sich ein Verzeichnis automaticupdate/website befindet, das bei jedem Commit automatisch ins htdocs-Verzeichnis ausgecheckt werden soll.

Dazu erstelle ich ein Verzeichnis htdocs/tests und übertrage es an Benutzer svn.
Danach wird manuell der 'initial checkout' durchgeführt:

su svn
cd /usr/local/apache2/htdocs/tests
svn checkout file:///home/svn-repos/tilman/tests/automaticupdate/website
exit

Für die automatischen Updates wird jetzt noch ein hook-Skript geschrieben. Es heißt post-commit, gehört selbstverständlich dem Benutzer svn, ist ausführbar und liegt im Unterverzeichnis /hooks des Repository. (Da sind auch schon templates für die verschiedenen möglichen hooks.)

#!/bin/sh
svn update /usr/local/apache2/htdocs/tests/website

Jetzt wird der aktuelle Stand immer unter http://www.siarp.de/tests/website/ angezeigt.

Nächster Schritt: Kleinere Veränderungen auf den Server zum Testen übertragen, ohne gleich einen Commit machen zu müssen. (Wie?)

Es wäre außerdem noch schön, Apache grundsätzlich die Auslieferung von allem, was ein ".svn" im Pfad hat zu verbieten. Derzeit sind die Metadaten noch einsehbar.