Für Programmier-Projekte verwende ich schon seit längerer Zeit Mercurial um den Code zu verwalten. Die Repositories wurden jeweils auf meinem eigenen Server gehostet, denn die meisten Anbieter haben Einschränkungen, welche mir nicht gefallen hatten. Z.B. nur eine begrenzte Anzahl closed-source-Projekte pro Account (ausser man bezahlt dafür) oder aber die Server liefen nicht stabil.
Allerdings hatte das selber gehostete System gewisse Nachteile. So war es zwar möglich über das Web-Interface neue Projekte zu erstellen, die Berechtigungen waren aber in der Webserver-Konfiguration “hard coded”. Das heisst via .htaccess mussten neue User hinzugefügt werden und wenn ein User nur auf ein Repository Zugriff haben sollte wurde das ziemlich mühsam. Vor kurzem habe ich nun RhodeCode entdeckt. RhodeCode ist eine WebApp welche mir genau diese Arbeit abnimmt. Es stellt Mercurial-Repositories (und wahlweise auch GIT) zur Verfügung. Die Repositories können per Webinterface konfiguriert werden, Benutzer können erstellt und zugewiesen werden. Es gibt Gruppen und Rollen. Alles was man braucht.
Das Ganze wurde in Python geschrieben und läuft somit Plattformunabhängig. Lediglich unter Windows (wie könnte es anders sein ;)) muss man ein bisschen basteln. Da eines der benötigten Python-Pakete einen Compiler benötigt muss entweder VisualStudio oder “Mingw32” installiert sein. Mingw32 ist mehr oder weniger eine GCC-Portierung für Windows.
Im Falle von VisualStudio funktioniert die Installation auf anhib. Bei Mingw32 muss Python entsprechend konfiguriert werden:
Python verfügt über “Distutils” welche benutzt werden um entsprechende Pakete zu kompilieren. Um Mingw32 zu verwenden muss die entpsrechende Konfiguration umgestellt werden. Die Datei befindet sich unter PFAD_ZU_PYTHON\Lib\distutils\distutils.cfg
(Falls diese Datei nicht existiert, muss eine leere Datei mit diesem Namen erstellt werden.)
Dieser Datei fügt man folgenden Teil an:
[build]<br />
compiler = mingw32
Die eigentliche Installation führt man am Besten gemäss Anleitung aus.
RhodeCode ist auf “Pylons” aufgebaut und kommt mit einem eigenen Webserver daher. Um diesen unter Windows als Dienst zu starten empfiehlt sich WSGISVC. Wenn man mehrere Webserver auf dem selben Server am laufen hat, kommt man dann allerdings kaum darum herum einen Proxy zu verwenden.
Comments
Currently Deactivated - Contact me on Twitter, Mastodon or email if you have questions or suggestions.