9. Dezember 2010

SVN Repo bei Commit nach htdocs kopieren

9. Dezember 2010 - Geschrieben von Martin - Keine Kommentare

Oft arbeitet man im Team an einer Webanwendung und würde gerne Testern den aktuellen Stand der Entwicklung geben. Um das nicht allzu umständlich zu machen, ist es hilfreich immer das aktuelle SVN Repo im WebRoot des Server abzulegen.

Hier kommt uns die Hook Schnittstelle von Subversion entgegen, welche erlaubt an bestimmten Events eigene Shell Scripte ausführen kann (wie z.B. nach dem Commiten).

Zu finden sind diese unter

/[SVNREPO]/hooks/

Wir öffnen nun den Hook, der nach dem Commiten ausgeführt wird:

cd /[SVNREPO]/hooks/
nano post-commit.tmpl

in dieser Datei bewegen wir uns nun mit dem Zeiger ganz runter und fügen folgenden Code ein:

svn checkout file:///[SVNREPO]/[DIRNAME] /var/www/[DIRNAME]
cd /var/www/[DIRNAME]
svn update

also z.B.

svn checkout file:///svnrepos/resigame /var/www/resigame
cd /var/www/resigame
svn update

Nun speichern wir es mittels [STRG] + [O] ab und benennen die Datei um (damit sie vom SVN erkannt wird):

cp post-commit.tmpl post-commit

und nun noch ausführbar machen (ist ja ein Shell Script ;))

chmod +x post-commit