Dienste

Aus Das Sopra Wiki

Das Sopra soll eine realitätsnahe Entwicklungsumgebung simulieren, und stellt dafür eine Reihe von Services zur Verfügung, die auch in einem Open-Source oder Unterenehmensprojekt zum Einsatz kommen könnte und die Gruppen durch nützliche Dienste unterstützt.

services.sopranium.de

Sämltiche zur Verfügung gestellten Dienste sind zur einfachen Übersicht über die Seite services.sopranium.de erreichbar. Nach der Gruppeneinteilung erhalten Sie einige Emails, die zur Einrichtung ihres Accounts aufforder.Sollten Sie Probleme bei der Benutzung der Dienste haben, kontaktieren Sie uns bitte via sopra-crew@informatik.uni-freiburg.de. Melden Sie sich bitte auch falls Sie bereits einen Account bei uns gehabt haben und beide Accounts zusammenführen wollen. Falls Sie die gleichen E-Mailadressen verwendet haben ist dies bereits automatisch passiert.



Dienste

Die folgende Tabelle gibt einen Überblick über alle Dienste die im Sopra zur Verfügung gestellt werden, und deren Nutzen für das Sopra.

Dienst Beschreibung Nutzen
Entwicklung
 
Gitea
Gitea ist erweitert Git-Repositories um ein Webinterface und Funktionen zur einfacheren Zusammenarbeit wie einen Issuetracker. Im Sopra werden alle Gruppe und Gruppenrepositories von einer Gitea-Instanz verwaltet. Folgende Funktionen sind hier zu finden:
  • Das Gruppenrepository und die URL um das Repository zu Clonen
  • Den Issuetracker um die Gruppenaufgaben zu veralten
  • Eine Anzeige ob der lezte Commit per Jenkins gebaut werden konnte
 
Jen
Jenkins
Jenkins ist ein Open-Source Werkzeug zur kontinuierlichen Integration d.h. um autmomatisch jede neue Änderung an einer Software zu kompilieren, Tests und statische Analysen auszuführen, usw. Im Sopra baut ein Jenkins jeden Commit, der auf Gitea gepusht wird. Binnen weniger Minuten ist sichtbar:
  • Ob alle Dateien eingecheckt wurden, die für den Baul notwendig sind
  • Ob die Änderungen zufällig nur auf deinem System gebaut haben (z.B. wegen temporärer Dateien), was alle Teammitglieder aufhalten würde bis ein Fix comitted wurde
  • Fehlermeldungen und der Bauvorgang lassen sich auf jenkins.sopranium.de einsehen.

Außerdem erzeugt Jenkins bei Commits auf dem release branch ein Release in Gitea.

 
Sonar
Sonar Cube analysiert Programmcode eines Projekts und weist auf problematische Stellen hin d.h. Stellen die Coding Conventions verlezten, oder bekannten Problemmustern entsprechen, z.B. mehrmals vorkommende Codestellen oder Konstrukte die heufig zu Fehlern führen. Im Softwarepraktikum wird auf jedem Commit eine Analyse mit Sonar ausgerführt:
  • Die Analysen von Sonar zeigen verbesserungswürdige Stellein im Programmcode. Mehr informationen zu der Bedeutung der einzelnen Metriken finden sie hier.
  • Mit dem Tag "Resharper" versehene Meldungen entsprechen den Meldungen

Sonar sollte die erste Anlaufstelle sein, um Punkte zu finden um die Codequalität des Projekts zu verbessern.

Kommunikation
 
Discourse
Discourse ist eine Open-Source Diskussions-Plattform, deren Funktionalität an Seiten wie Stackoverflow oder auch das Monogame-Forum angelehnt ist.

Genaueres über die Features finden Sie unter Discourse oder einfach direkt auf der Seite.

Hier haben Sie die Möglichkeit öffentlich Fragen an Dozenten, Tutoren und Kommilitonen zu stellen, und natürlich auch zu beantworten:
  • Technische Fragen zur Entwicklungsumgebung
  • Fragen zum Ablauf
  • Fragen zu Formalien und Benotung
  • Fragen zu Monogame und C#

Für Fragen und persönliche Probleme (z.B. HisInOne, Prüfungsamt) sowie Probleme oder Streit mit Tutoren oder anderen Studierenden kontaktieren Sie bitte direkt die Dozenten, am Besten im Mattermost.

 
MML
Mattermost
Mattermost ist eine Open-Source Chat-Plattform die in ihrer Funktionalität an Chatprogramme wie z.B. Discord oder Slack erinnert. Hier steht Ihnen als Gruppe neben den öffentlichen Chaträumen auch ein eigener

Chatraum zur Verfügung.

Mattermost bietet alle Features, die man von derartigen Programmen erwartet, insbesondere auch Android oder iOS Apps.

Wir verwenden Mattermost als Chat-Plattform.
  • Mattermost eignet sich insbesondere um während dem Entwickeln miteinander zu sprechen und Probleme schnell zu klären.
  • Schnell Kontakt mit den Dozenten, Teammitgliedern oder dem Tutor aufzunehmen z.B. um während der Sprechstunde einen Videochat auszumachenoder um einfach und unkompliziert eine Frage zu stellen.
Organisation
 
Dashboard
Das Dashboard aggregiert nützliche Metriken über das Sopra.


Das Dashboard ist mit Grafana realisiert und wird im Moment nur täglich aktualisiert. Zu Beginn des Softwarepraktikums sehen Sie dort noch keine Daten, da diese erst im Laufe der Zeit anfallen.

Das Dashboard zeigt Statistiken über ihre Arbeit im Sopra:
  • Bereits erreichte Punkte aus den Sprints
  • Verbuchte geschätzte, und verbuchte gearbeitete Zeit
  • Anoymisierte Ranglisten über alle Soprateilnehmer
 
A
Keycloak
Wir verwenden zur zentralen Authentifizierung Keycloak. Unter diesem Link können Sie auf Ihre Accountdaten zugreifen und z.B. Ihr Passwort ändern oder 2FA (2-Faktor-Authentifizierung) aktivieren. Keycloak sorgt dafür, dass ein Login für alle Dienste funktioniert. Auf der Keycloak Seite kann das Passwort und die Email für Keycloak geändert werden (das ändert nicht unbedingt die Email die in den einzelnen services eingetragen ist).

Erstbenutzung

Nach der Gruppeneinteilung erhalten Sie von unseren Diensten eine Reihe von Mails. In der Mail von SoPra Accounts finden Sie einen Link zur Aktualisierung Ihres Accounts auf sso.sopranium.de. Nachdem Sie Ihren Account eingerichtet haben können Sie alle aktuell verfügbaren Dienste über services.sopranium.de erreichen.

Manche von diesen Diensten müssen Sie bei der Erstbenutzung kurz konfigurieren. Diese Konfiguration wird in diesem Artikel beschrieben. Außerdem gibt es hier eine Kurzübersicht über alle aktuell verfügbaren Dienste.

Sopra Accounts (Keycloak)

Zu beginn des Softwarepraktikums erhalten Sie eine Mail in der Sie zur akualisierung Ihres Useraccounts aufgefordert werden. Folgen Sie dem Link und führt Sie in mit den oben stehenden drei Schritten durch die Accounteinrichtung durch. Da Ihre Emailadresse und ihr Username bereits aus den Fragebogendaten entnommen wurde, müssen Sie lediglich ein Passwort für Ihren Account setzen.

Gitea

 
Einloggen bei Gitea mit Keycloak

Falls Sie Gitea nicht über services.sopranium.de sondern direkt über git.sopranium.de aufrufen, könnten Sie dieser Login-Maske begegnen. Verwenden Sie hier den Tab "Sign In" und klicken Sie dann unten auf "Sign In With OpenID" um die Authentifizerung via Keycloak zu benutzen.



Discourse

 
Discourse's Eingabemaske zur Bestätigung der übermittelten Daten. Sie können hier einfach "Neues Benutzerkonto erstellen" drücken.

Beim ersten Login zeigt Ihnen Discourse eine Eingabemaske in der die von Keycloak übermittelten Daten noch einmal angegeben sind. Sie können hier einfach auf "Neues Benutzerkonto erstellen" drücken.