Atlassian hat die Git-basierte Code Hosting-Plattform Stash 3.8 freigegeben. In der neusten Version der hochskalierbaren Git-Lösung für den professionellen Unternehmenseinsatz feilen die Australier vor allem an technischen Feinheiten wie voll automatisierbare Installationen und verbessertes Lizenzhandling. Stash 3.8 bietet dank Deep Linking für Quelltextdateien und verbesserter Unterstützung für Go auch einen echten Mehrwert für Anwender.

Stash vollautomatisch verfügbar machen

Stash ließ sich bisher nur schwierig vollautomatisch in Server-Umgebungen zur Verfügung stellen. Selbst bei automatisierten Installationen war es nötig, via Webbrowser in die Installation einzugreifen, um diverse Einstellungen wie den Administrator-Account, die Basis-URL sowie die externe Datenbank und Stash Lizenz zu tätigen.

Mit Stash 3.8 fällt dieser Schritt weg: Mittels der Stash Config Properties-Dateien lassen sich alle diese Konfigurationen vorab ablegen und für eine Stash-Installation verwenden. Der Installer liest die Dateien beim Start ein und wendet alle Informationen an. Somit kann eine Installation von Stash ohne menschliches Eingreifen ablaufen – was Deployments vereinfacht und Stash für Lösungen wie Chef/Puppet oder Container-Lösungen wie Docker geeigneter macht.

Deep-Links auf Quelltexte

Atlassian hat das Handling von Links auf Quelltexte in Stash um eine neue Funktion erweitert. So lässt sich von nun an eine Anzahl an Zeilen mit Shift-Click selektieren bzw. mit Strg-Click mehrere separate Zeilen kombinieren. Die Auswahl wird in der URL, welche auf die Quelltext-Datei innerhalb von Stash verweist, aktualisiert. Somit können Änderungen oder Quelltextabschnitte punktuell mit Dritten geteilt werden.

Stash-38-source-deep-linking

Strg-Klicks werden allerdings vom Internet Explorer nicht unterstützt. Das URL-Format ist denkbar einfach gehalten. So werden einfach am Ende der URL mittels eines Fragmentbezeichners die Zeilen bzw. der Zeilenbereich mit Kommata getrennt angegeben:

<your.stash.com/path/to/source>#72,76-78,82

Wer also auf Klicks verzichten möchte oder die Deep-Links mittels eines Scripts generieren möchte, kann dies auf denkbar einfache Weise tun.

Performance-Monitoring in Stash mithilfe von JMX Countern möglich

Stash stellt mit Version 3.8 eine verbesserte Schnittstelle zwecks Messung der Performanz zur Verfügung. Folgende Informationen stellen Stash und Stash Data Center JMX Clients bereit:

  • Gesamtanzahl an Projekten
  • Gesamtanzahl an Repositories
  • Git pushes und
  • Diverse Thread Pools und weitere Attribute

Diese Informationen werden alle als JMX Counter zugänglich gemacht, welche sich mit Clients wie JConsole anzeigen lassen.

Benutzer- und Lizenzverwaltung aufgeräumt

Atlassian hat die Verwaltung von Benutzern aus externen Benutzerverzeichnissen wie LDAP überarbeitet, die keine gültige Lizenz oder Autorisierung für Stash besitzen.

So werden bei der Auswahl von Reviewern für Pull Request nur die Benutzer angezeigt, die auch wirklich auf ein Repository lesend zugreifen dürfen. Nicht autorisierte oder lizenzierte Benutzer werden erst gar nicht zur Auswahl gestellt, was Zeit und Nerven spart.

Selbiges gilt für @mentions in Stash: Benutzeraccounts ohne gültige Lizenz werden nie im @mentions-Picker Drop Down in Stash angezeigt. Wie immer werden Benachrichtigungen nur an die Benutzer versandt, die auch das Repository anzeigen dürfen.

Stash Data Center Knoten benennen & Go-Unterstützung verbessert

Die Australier verbessern wieder viele kleine Details mit der neusten Version von Stash. Folgende kleinere Änderungen wurden durchgeführt:

Tomcat-Konfiguration server.xml verschoben

Mit Stash 3.8 wird die server.xml von Tomcat nach STASH_HOME/shared/server.xml verschoben. Hat man die Konfiguration des Tomcat-Servers mittels dieser Datei angepasst, so muss man diese im Laufe des Upgrades in dieses Verzeichnis kopieren. Weitere Informationen hierzu halten die Stash Upgrade Notes bereit

Sprechende Bezeichner für Stash Data Center-Knoten

Waren die Knoten von Stash bisher mit eher kryptischen IDs versehen, so lassen sich diese künftig mit von Menschen lesbaren, sprechenden Bezeichnern versehen. Die Bezeichner bleiben über die gesamte Lebenszeit eines Knoten – auch über Neustarts hinweg – erhalten.

Bessere Unterstützung von go get

Entwickler, die mit Google Go arbeiten und diverse Go-Bibliotheken in Stash hosten, können das go get-Kommando künftig ohne ein VCS Suffix verwenden.

Quellen & Links