Cloudogu Logo

Hallo, wir sind Cloudogu!

Experten für Software-Lifecycle-Management und Prozess­auto­mati­sierung, Förderer von Open-Source-Soft­ware und Entwickler des Cloudogu EcoSystem.

featured image Update zur SCM-Manager 2 Entwicklung
25.10.2018 in Insides

Update zur SCM-Manager 2 Entwicklung


Daniel Huchthausen
Daniel Huchthausen

IT Consultant


Als wir in das SCM-Manager Projekt und damit auch in die aktive Entwicklung des SCM-Manager 2 eingestiegen sind, haben wir angekündigt, euch über die Fortschritte auf dem Laufenden zu halten. Das wollen wir jetzt auch tun und euch ein erstes Update zum Entwicklungsstand von SCM-Manager 2 geben.

Open Source Continuous Integration Environment

Einer der ersten Schritte für uns war, eine Continuous Integration Umgebung für SCM-Manager, seine Plugins und unsere anderen Open-Source-Projekte bereitzustellen und die Projekte dorthin umzuziehen. Unter https://web.archive.org/web/20230508072209/https://oss.cloudogu.com/jenkins/job/scm-manager/ werden nun u.a. SCM-Manager, SCM-Manager 2 und alle SCM-Manager Plugins gebaut. Das hat zwar nur indirekt mit dem SCM-Manager 2 zu tun, ist in unseren Augen aber sehr vorteilhaft für das Projekt insgesamt.

Weiterentwicklung von SCM-Manager 2

In Sachen Weiterentwicklung von SCM-Manager 2 sind wir dabei essentielle Funktionen der Anwendung in Front- und Backend zu implementieren. So ist unsere Arbeit an einigen Masken bereits größtenteils beendet. Diese Oberflächen gibt es z.B. schon:

  • die Repository-Übersicht,
  • die globale Konfiguration,
  • Berechtigungen auf Repositories und Verwaltung von Usern und Gruppen.

Damit sind erste Grundvoraussetzungen geschaffen. Von einer vollständig funktionierenden Version sind wir aber noch relativ weit entfernt.

Nächste Entwicklungsschritte – Repository UIs implementieren

Nachdem wir viele der allgemeinen Masken bereits entwickelt haben, liegt nun unser Hauptaugenmerk auf der Entwicklung der Repository Funktionen. Im nächsten Schritt werden wir also noch u.A. diese fehlenden Funktionen und die entsprechenden Masken implementieren:

  • Commit History,
  • Diff-Viewer,
  • Source-Viewer oder
  • File-History

Außerdem werden wir an allgemeinen Funktionen wie der Anzeige und der Bearbeitung des Benutzerprofils sowie der Autocomplete-Funktion für User und Gruppen arbeiten. Viele dieser Funktionen sind im Backend bereits vorbereitet und müssen nun “nur” noch im Fontend umgesetzt werden.

Neue Features – Repository Pfade, HATEOAS und Cloud- native

Auch wenn wir momentan dabei sind die Funktionen von SCM-Manager 1 in der neuen Version nachzubauen bedeutet das natürlich nicht, dass alles so bleiben wird wie es ist. Es wird nicht nur eine deutlich überarbeitete Benutzeroberfläche geben, sondern auch Anpassungen an Funktionen und Prozessen im Hintergrund.

SCM-Manager

Der einfachste Weg Ihre Git-, Mercurial- and Subversion-Repositories zu teilen und zu verwalten.

Jetzt kennenlernen
SCM-Manager Logo

Darüber hinaus wird SCM-Manager 2 natürlich auch neue Funktionen enthalten:

  • In SCM-Manager 1 sind die URLs für Clone / Push und für den Zugriff über das UI unterschiedlich. Dadurch bekommt man, wenn man z.B. die Clone-URL im Browser benutzt, je nach Repository Typ ein sehr abgespecktes UI angezeigt. In SCM-Manager 2 werden die URLs nun identisch sein, was zu einer deutlich besseren Usability führen wird, da immer das gleiche, vollwertige UI angezeigt wird und man die gleichen URLs auch in seinem SCM-Client (git, svn, hg) verwenden kann.
  • Da uns die identische URL sehr wichtig war, haben wir uns dazu entschieden in SCM-Manager 2 die Tiefe des Repository-Pfades auf zwei Ebenen zu beschränken. In der ersten kann man den Namespace aus einer vordefinierten Liste (Username, Jahr, Repository Typ) oder frei auswählen. Die zweite Ebene ist immer frei wählbar. Aus unserer Sicht ist diese Lösung ein guter Kompromiss zwischen Freiheit bei der Festlegung des Repository Pfades und der erhöhten Nutzerfreundlichkeit durch die identischen URLs für Clone / Push und UI.
  • Wie schon im ersten Post angekündigt wird SCM-Manager 2 dank der Verwendung von HATEOAS eine level 3 REST API.
  • SCM-Manager 2 wird Cloud-native! Im Repository befindet sich bereits die erste Version eines Helm-Charts, mit dem sich SCM-Manager komfortabel auf Kubernetes deployen lässt.

Ihr seht also, dass wir schon eine Menge geschafft haben, es gibt aber auch noch viel zu tun bis es eine Feature-complete Version von SCM-Manager 2 geben wird.

So stay tuned!