ich habe hier en kleines Problem. Heute habe ich mir nen SVN Server aufgesetzt der wunderbar funktioniert, dazu nutzte ich nur einen kleinen Vserver wo alle Projekte per svn entwickelt werden sollen.
Nun gibt es >hier< eine schöne Beschreibung wie man die aktuelle revision auch ins webverzeichnis kopieren kann damit man die Änderungen testen kann.
Da mein SVN-Server aber für sich alleine läuft also nicht auf dem wo auch der Webspace ist, bräuchte ich eine Lösung wie ich das rüberkopieren kann.
Ich denke ssh wird auf dem Server der die Daten empfängt frei sein müssen.
Ich habe mir eine Lösung so vorgestellt...
Ich weiss das man mit einem Befehl eine datei per ssh auf einen anderen Server übertragen kann:
Code: Select all
scp test.rar userxyz@111.222.333:backup/test.rar
Code: Select all
svn checkout file:///svnrepos/resigame /var/www/resigame
cd /var/www/resigame
svn update
Und da dachte ich an Stelle der Zeile mit cd könnte man ggf. einen Befehl rein machen der eben die Revision auf den anderen Server in htpdocs kopiert.
Klar muss dann natürlich ip, user und pw angeben, aber ich weiss halt nich wie das funktionieren sollte das eben nur die neuen Dateien rüberkopiert werden, beachten muss das Script das die Files auch an der richtiger stelle landen und nicht alles in httpdocs, also Unterordner müssen ja berücksichtigt werden.
SVN wird mit der Revision ja sicher die neuen Dateien von alleine aussortieren, also das abschicken der neuen Files denke ich ist nicht das große Problem sondern die Zuordnung auf dem Empfangsserver.
Hat da ggf. einer ne gute Idee und einen Muster Code?
Wäre schön.
MFG: Paykoman
::EDIT::
Mir fällt da gerade noch was ein =)
Was evtl leichter und die einfachere Lösung wäre.
Immer wenn eine neue revision hochgeladen wird, wird ja durch die hook die shelldatei ausgeführt, wie wäre es wenn ich dort den Link zu einer Crontab.php datei angebe die bei jeder Revision aufgerufen wird.
Die Crontab Datei liegt dann auf dem Server wo die Repo übertragen werden soll und führt dann einfach den Checkout befehl von svn aus und updatet so die neuen Dateien auf dem Server :)
Das wäre sicherlich einfacher.
LG