Continuous Integration im Web Development: Youtrack

In diesem Teil der Serie werden wir unser bestehendes Set an Tools durch das Issue Tracking/Project Management Tool YouTrack [1] erweitern.

YouTrack erleichtert es, Projekte mit Hilfe agiler Entwicklungsmethoden wie zum Beispiel Scrum oder Kanban umzusetzen und zu Planen. Ein großer Vorteil dieses Tools ist unter anderem die Möglichkeit zur Verbindung mit einem TeamCity Server. So können beispielsweise einzelne Issues oder Tasks direkt in einem Kommentar eines git Commits mit Hilfe einer eigenen Syntax referenziert werden.

Sobald der TeamCity Server den aktuellen Status des Projekts auscheckt, werden die durchgeführten Commits auf entsprechende Referenzen durchsucht und den Issues zugewiesen. So kann mit Hilfe von Git Kommentaren beispielsweise ein Issue geöffnet, kommentiert und geschlossen werden, ohne die Entwicklungsumgebung verlassen zu müssen.


Team City konfigurieren

Nach der Installation von TeamCity muss erst ein Admin User angelegt werden. Ist dies erledigt, kann mit dem Erstellen des ersten Projektes begonnen werden. Dazu wählen wir auf der Startseite die Option „Manually create new project“ aus und erstellen damit ein neues Projekt (siehe Abbildung 1).

Abbildung 1: Anlegen eines neuen Projektes
Abbildung 1: Anlegen eines neuen Projektes

Nachdem das Projekt angelegt wurde, bekommt man – falls noch keine Benutzer im System existieren – eine Meldung, dass erst die „project assignees“ konfiguriert werden müssen. Auf dieser Seite wird auch auf diverse Tutorials und Screencasts von JetBrains verwiesen, in denen dies Schritt für Schritt behandelt wird. Aus diesem Grund werde ich auf das Anlegen und konfigurieren von Benutzergruppen und Benutzern nicht näher eingehen.


Bestehendes Projekt mit TeamCityServer verbinden

Um ein bestehendes Projekt mit einem TeamCity Server zu verbinden, wählen wir unter den Projekteinstellungen den Menüpunkt „TeamCity“ aus. Hier erscheint die Option „Add TeamCity Server“. Nach Angabe der URL, sowie der Zugangsdaten zum TeamCity Server ist die Verbindung eingerichtet (siehe Abbildung 2). Im Anschluss daran kann das YouTrack Projekt mit dem dazugehörigen TeamCity Projekt verknüpft werden (siehe Abbildung 3).

Abbildung 2: Einrichten der TeamCity Verbindung
Abbildung 2: Einrichten der TeamCity Verbindung
Abbildung 3: Verknüpfung der TeamCity und YouTrack Projekte
Abbildung 3: Verknüpfung der TeamCity und YouTrack Projekte

Agile Dashboard

Einen Überblick über den aktuellen Status des Projekts bietet das Agile Dashboard. Hier werden zum Beispiel alle Issues und deren derzeitiger Status aufgelistet. Die Dashboard Ansicht kann je nach Belieben den eigenen Vorstellungen angepasst werden (siehe Abbildung 4) und ist insbesondere für die Abbildung von den Prozessmodellen Scrum und Kanban optimiert.

Abbildung 4: Agile Dashboard
Abbildung 4: Agile Dashboard

Für diesen Beitrag habe ich die Standardeinstellungen für das Agile Dashboard übernommen und eine Swimlane erstellt. Swimlanes sind ein Konzept von YouTrack zur Gruppierung von ähnlichen Tasks (z.B. alle Tasks die zu einem bestimmten Use Case gehören).

Um das Zusammenspiel zwischen YouTrack und TeamCity zu demonstrieren, legen wir innerhalb einer vorher angelegten Swimlane einen neuen Issue an (siehe Abbildung 5). In der Detailansicht des Issues kann dieser noch weiter bearbeitet werden. So können zum Beispiel Dateianhänge beigefügt werden, oder ein User dem Issue zugewiesen werden.

Abbildung 5: Angelegter Issue in der Swimlane "Frontend Development"
Abbildung 5: Angelegter Issue in der Swimlane "Frontend Development"

YouTrack & PhpStorm

Der User, dem der Issue zugewiesen wurde, sieht diesen nun entweder im YouTrack Portal, oder alternativ innerhalb der PhpStorm DIE, falls dieser das dazugehörige Plugin installiert und eingerichtet hat. Die Installation und Konfiguration des Plugins wird genau unter [2] beschrieben.

Wie nun in Abbildung 6 zu sehen, ist der vorher angelegte Issue nun in der IDE ersichtlich und kann von dort aus auch ausgecheckt und als aktiv markiert werden. Anschliessend kann der Issue bearbeitet werden, und sobald dieser erledigt ist, schlussendlich in das Repository commited werden.

Abbildung 6: YouTrack PlugIn für PhpStorm
Abbildung 6: YouTrack PlugIn für PhpStorm

Wie in Abbildung 7 zu sehen, wurde das Kommentar zu dem Commit durch YouTrack Kommandos ergänzt. Eine genauere Beschreibung der verfügbaren YouTrack Kommandos findet man unter [3]. In unserem Beispiel wurde durch das Git Kommentar der Status des Issues auf „Fixed“ gesetzt und eine Zeitdauer von vier Stunden verbucht, die wir mit diesem Issue verbracht haben (Anm.: um den Status von Issues ändern zu können, und um die damit verbrachte Zeit zu erfassen, muss der YouTrack Benutzer über die dafür erforderlichen Rechte verfügen. Dies wird ausführlich in den Tutorials behandelt, auf die weiter oben verwiesen wurde). 

Abbildung 7: Commit Kommentar inklusive YouTrack Commands
Abbildung 7: Commit Kommentar inklusive YouTrack Commands

Sobald der Commit durchgeführt und gepushed wurde, und TeamCity die Änderungen am Code ausgecheckt hat, kann sich YouTrack die durchgeführten Commits von TeamCity holen. In der Detailansicht des Issues sehen wir nun unter dem Menüpunkt „TeamCity Changes“ eine Liste von Commits, die auf diesen Issue verweisen.

Wichtig ist dabei, dass der TeamCity User und der dazugehörige YouTrack User über die selbe Email Addresse verfügen, da die beiden Systeme die User über dieses Attribut miteinander verknüpfen.

Abbildung 8: TeamCity Issue Detailansicht
Abbildung 8: TeamCity Issue Detailansicht

Schlussfolgerung

In diesem letzten Teil der Serie wurde gezeigt, wie die Projektplanung und Kontrolle erleichtert werden kann, indem das Tool YouTrack zum Einsatz gebracht wird. Insbesondere die Möglichkeit, direkt aus der IDE Issues zu bearbeiten und auch die damit verbrachte Zeit zu erfassen, ist sehr hilfreich, da Entwickler dazu nicht erst umständlich zur YouTrack Oberfläche wechseln müssen.

Natürlich bieten die in dieser Serie vorgestellten Tools eine Vielzahl an weiteren Funktionen, die allerdings nicht alle in dieser Serie behandelt werden konnten. Trotzdem hoffe ich, den Lesern einen groben Überblick über die Möglichkeiten, die sich durch den Einsatz der vorgestellten Tools ergeben, verschafft haben zu können.

« Zurück zur Übersicht

« Zurück von Dipl.-Ing. Florian Bacher von Dipl.-Ing. Florian Bacher Weiter »

Zur besten Nutzung dieser Website und zur Bedienerfreundlichkeit werden Cookies verwendet. Diese Website nutzt zusätzlich Google Analytics und Scripte, welche Cookies benutzen. Wenn Sie diese Website weiter nutzen, gehen wir von Ihrem Einverständnis aus. [ Mehr zum Datenschutz ].
OK