Kategorien
(Kostenlose) Services Essentials

RhodeCode: Selbstgehostetes Admin-Tool für die Github-Alternative Mercurial

Vor einigen Wochen haben wir bereits GitLab vorgestellt als Alternative zu GitHub als Self-Hosting-Lösung. Für die Versionsverwaltung Mercurial(hg) heißt das entsprechende Pendant RhodeCode. Doch kann RhodeCode wirklich mit der git-Lösung mithalten?

rhodecode-summary-1024x486-w640

Mercurial und Git – Ähnliche Ansätze, ähnliche Zielgruppe, Unterschiede im Detail

Mercurial und Git sind zwei Versionsverwaltungen mit ähnlichen Ansätzen, diese Ähnlichkeiten sind auch bei RhodeCode und GitLab sichtbar. Die Features unterscheiden sich nur gering. In RhodeCode lassen sich Repositories anlegen, es gibt Statistiken zu Repos, ein Changelog, Verwaltung der Branches und eine File-Ansicht. Bei einigen Dingen fehlen allerdings noch kleinere Features, dies lässt sich jedoch verschmerzen. Erkennbar ist allerdings, dass man sich doch stark an GitHub ausgerichtet hat. Das wird deutlich an Features wie dem Folgen von Usern oder der Möglichkeit Repositories zu forken (klonen). Der Gemeinschaftsansatz ist hier ausgeprägter als zum Beispiel bei GitLab. Hier soll das Forken aber auch bald möglich sein. Das liegt sicherlich in der Natur von Mercurial, bei welcher das Klonen eine zentrale Rolle spielt.

Interessant ist die Volltextsuche. Alle Repositories zum Beispiel nach Schlüsseln oder anderen wiederkehrenden Informationen durchsuchen zu können, kann für einige Unternehmen interessant sein. Auch die Nutzerverwaltung mit der Zuweisung von Rechten ist wichtig, gerade um Hierarchien in Entwicklungsteams abbilden zu können. Ebenfalls möglich ist der direkte Upload von neuen Dateien in Repositories. Diese lassen sich wiederum direkt in RhodeCode bearbeiten und committen.

Die Installation und Integration ist für Teams, die Python als Entwicklungssprache bevorzugen, denkbar einfach. Mit Hilfe von pip oder easy_install besorgt sich RhodeCode alleine die nötigen Abhängigkeiten. Updates können dann ebenfalls relativ einfach eingespeist werden. Am Besten nutzt man hierfür virtualenv, wie auch in der Dokumentation vorgeschlagen.

Features und Wartbarkeit sind nicht die Probleme, die man bei RhodeCode vorfindet. Das größere Problem liegt in der Übersichtlichkeit des User-Interfaces. Diese ist nämlich kaum vorhanden. Insgesamt wirkt alles sehr überladen und groß. Einen responsiven Ansatz hat man nicht gewählt. Schade, denn gerade im mobilen Bereich wäre ein schönes Frontend der eigenen Projekte doch sehr hilfreich, zum Beispiel wenn man sich von unterwegs den aktuellen Entwicklungsstand ansehen will.

Die Anzahl und der Gedanke der Features sind wirklich großartig. Auch die Performance kann sich durchaus sehen lassen. Wenn das Team jetzt noch an der Oberfläche bastelt, hat RhodeCode auf jeden Fall großes Potential. Nicht verschweigen will ich dabei, dass man die Oberfläche auch selber anpassen kann. Dies liegt durchaus im Bereich des Machbaren und wird zunehmend öfter durchgeführt, gerade in Bezug auf die Integration der Software in die eigene Umgebung.

Wer Mercurial ohnehin bereits zur Versionsverwaltung nutzt, kann problemlos RhodeCode verwenden. Wer bei Github zufrieden ist, erhält auch mit RhodeCode kein zwingendes Wechselargument.

Links zum Beitrag:

  • Feature-List RhodeCode – packages.python.org
  • RhodeCode Projektseite – rhodecode.org
  • RhodeCode Demo – rhodecode.org

(dpe)

Kategorien
(Kostenlose) Services Essentials

GitLab 4.0: Github-Alternative zum Selberhosten

GitLab ist mittlerweile in der Version 4.0 erschienen. Dabei handelt es sich um eine „Git-Management-Software“ für das lokale Netzwerk, die zunächst wie ein GitHub-Klon wirkt, aber mit jeder Version stetig mehr Features bekommt. So wird GitLab mehr und mehr zu einer validen Alternative für GitHub-User, denen es lieber wäre, wenn die Projekte nicht im Weltennetz gepflegt werden müssten. Wer will seine Investition schon einem öffentlichen Service anvertrauen, wenn er es vermeiden kann?

Mit Hilfe von GitLab können Git-Repositories erstellt und verwaltet werden. Ähnlich wie bei GitHub kann dabei der veränderte Code angezeigt und teilweise bearbeitet werden. Eine Syntax-Hervorhebung, Unterschiede zwischen den einzelnen Commits und Darstellungen von Verzweigungen der Branches sind nur einige Features, welche die eigentliche Arbeit mit Git enorm erleichtern.

Gitlab Projektübersicht
Gitlab Projektübersicht

Rege Entwicklungstätigkeit: Neue Features mit jeder GitLab-Version

In der neuesten Version werden nun auch Nutzer-Gruppen unterstützt. Gruppen können Repositories anlegen und so den Mitgliedern der Gruppe automatisch Rechte für die neuen Repositories verleihen; eine Arbeitserleichterung, speziell bei größeren Gruppen. Darüber hinaus bietet GitLab ein kleines Ticket-System (Issues), sowie ein einfaches, aber funktionales Wiki und eine übersichtliche Administration. Über die Oberfläche können außerdem die SSH-Keys der Nutzer eingebunden werden. Auch die Abbildung einer Nutzer-Hierarchie in Git ist möglich. Merge-Requests können zum Beispiel direkt in GitLab bearbeitet werden.

GitLab ist ein sehr schönes Frontend für Git-Nutzer, die schnell eine Übersicht über den Status eines Projektes bekommen wollen. Das Design erinnert stark an die üblichen Bootstrap-Seiten, was jedoch den Vorteil birgt, dass man sich sehr schnell zurecht findet. Das Featureset erschlägt einen nicht unbedingt, bietet aber alles, was man landläufig so benötigt. Für die Arbeit in Projekten und in der agilen Softwareentwicklung ist dies vollkommen ausreichend. Für Dokumentationen kann zum Beispiel das integrierte Wiki genutzt werden.

Gretchen-Frage: GitHub oder GitLab?

Grundsätzlich stellt sich die Frage, ob es Sinn ergibt, den Aufwand für Hosting und Administration der Software zu übernehmen. Daten müssen gespiegelt und zusätzlich Backups erstellt werden. Ist es also nicht besser auf das zuverlässige GitHub zu setzen? Im Endeffekt kommt es auf die eigenen Bedürfnisse an. Wie streng intern müssen meine Daten und meine entwickelte Software behandelt werden? Will ich wirklich, dass meine Investition auf fremden Servern liegt?

Wenn für die Einbindung von GitLab und Git erst noch Expertise eingekauft werden muss, das Team nicht zu groß wird und man extra jemanden mit der Administration beauftragen muss, sollte man wohl eher GitHub nutzen. Einen nennenswerten Kostenvorteil darf man bei keinem der Systeme erwarten.

Gerade für größere Unternehmen kann es sinnvoll sein, auf GitLab zu setzen. Erfahrenen Unix-Administratoren geht die Einbindung und Installation schnell von der Hand, da GitLab auf Rails und Gitolite basiert. Sicherheitskritische Probleme sind bisher eher selten aufgetreten, dürften aber auch kaum eine Rolle spielen, da GitLab in der Regel nur im internen Netz erreichbar sein wird. Der Administrationsaufwand ist eher als gering einzustufen. Updates kommen zwar öfter, sind aber relativ einfach zu applizieren.

Mit jeder Version erschienen bis dato immer wieder neue hilfreiche Features. Auf Anregungen der Community wird ebenfalls schnell reagiert. Da GitLab intuitiv nutzbar ist und leicht, aber zuverlässig administriert werden kann, spricht kaum etwas dagegen, die Github-Alternative zumindest einmal auszuprobieren.

GitLab ist Open-Source, steht unter der liberalen MIT-Lizenz und stellt eine sinnvolle Erweiterung für die eigene Software-Umgebung dar. Wer sich erstmal ein Bild von GitLab machen will, kann sich einen kostenlosen Account auf GitLab.com, der Hostingplattform zu GitLab.org, anlegen. GitLab.com wurde dezidiert zu dem Zweck ins Leben gerufen, den Einstieg in die Nutzung von GitLab zu erleichtern.

Links zum Beitrag:

  • Self hosted Git management software – GitLab.org
  • Eine Fremdhostinglösung steht ebenfalls bereit – GitLab.com

(dpe)