Dienste: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
typos |
||
Zeile 1: | Zeile 1: | ||
{{TOCRight}} | {{TOCRight}} | ||
[[File:sopra-services.png|thumb|140px|left|link=https://services.sopranium.de|[https://services.sopranium.de services.sopranium.de]]] | [[File:sopra-services.png|thumb|140px|left|link=https://services.sopranium.de|[https://services.sopranium.de services.sopranium.de]]] | ||
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 | 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 Unternehmensprojekten zum Einsatz kommen könnte und die Gruppen durch nützliche Dienste unterstützt. | ||
Sämtliche zur Verfügung gestellten Dienste sind zur einfachen Übersicht über die Seite [https://services.sopranium.de services.sopranium.de] erreichbar. Nach der Gruppeneinteilung erhalten Sie eine Email, die zur [[Dienste#Erstbenutzung|Einrichtung]] ihres Accounts auffordert. Sollten Sie Probleme bei der Benutzung der Dienste haben, kontaktieren Sie uns bitte via [mailto:sopra-crew@informatik.uni-freiburg.de 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 im Fragebogen die gleichen E-Mailadressen verwendet haben ist dies bereits automatisch passiert. | |||
Zeile 22: | Zeile 22: | ||
|Im Sopra werden alle Gruppe und Gruppenrepositories von einer Gitea-Instanz verwaltet. Folgende Funktionen sind hier zu finden: | |Im Sopra werden alle Gruppe und Gruppenrepositories von einer Gitea-Instanz verwaltet. Folgende Funktionen sind hier zu finden: | ||
* Das Gruppenrepository und die [[Gitea#Weitere Funktionen|URL um das Repository zu Clonen]] | *Das Gruppenrepository und die [[Gitea#Weitere Funktionen|URL um das Repository zu Clonen]] | ||
* Den Issuetracker um die Gruppenaufgaben zu veralten | *Den Issuetracker um die Gruppenaufgaben zu veralten | ||
* Eine Anzeige ob der | *Eine Anzeige ob der letzte Commit per Jenkins gebaut werden konnte | ||
|- | |- | ||
|[[Datei:Jenkins.png|100px|link=https://www.jenkins.io|alternativtext=|zentriert| | |[[Datei:Jenkins.png|100px|link=https://www.jenkins.io|alternativtext=|zentriert| | ||
Jen]]Jenkins | Jen]]Jenkins | ||
|[https://www.jenkins.io/ Jenkins] ist ein Open-Source Werkzeug zur kontinuierlichen Integration d.h. um | |[https://www.jenkins.io/ Jenkins] ist ein Open-Source Werkzeug zur kontinuierlichen Integration d.h. um automatisch 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: | |Im Sopra baut ein Jenkins jeden Commit, der auf Gitea gepusht wird. Binnen weniger Minuten ist sichtbar: | ||
*Ob alle Dateien eingecheckt wurden, die | *Ob alle Dateien eingecheckt wurden, die zum Kompilieren 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 | *Ob die Änderungen zufällig nur auf deinem System gebaut haben (z.B. wegen temporärer Dateien), was alle Teammitglieder aufhalten würde bis der Fehler behoben wird. | ||
*Fehlermeldungen und der Bauvorgang lassen sich auf [https://jenkins.sopranium.de jenkins.sopranium.de] einsehen. | *Fehlermeldungen und der Bauvorgang lassen sich auf [https://jenkins.sopranium.de jenkins.sopranium.de] einsehen. | ||
Außerdem erzeugt Jenkins bei Commits auf dem <code>release</code> branch ein Release in Gitea. | Außerdem erzeugt Jenkins bei Commits auf dem <code>release</code> branch ein Release in Gitea. | ||
|- | |- | ||
|[[Datei:SonarQube icon 256 px.png|100px|link=https://docs.sonarqube.org/|alternativtext=|zentriert]]Sonar | |[[Datei:SonarQube icon 256 px.png|100px|link=https://docs.sonarqube.org/|alternativtext=|zentriert]]Sonar | ||
|[https://en.wikipedia.org/wiki/SonarQube Sonar Cube] analysiert Programmcode eines Projekts und weist auf problematische Stellen hin d.h. Stellen die Coding Conventions | |[https://en.wikipedia.org/wiki/SonarQube Sonar Cube] analysiert Programmcode eines Projekts und weist auf problematische Stellen hin d.h. Stellen die Coding Conventions verletzen, oder bekannten Problemmustern entsprechen, z.B. mehrmals vorkommende Codestellen oder Codeconstrukte die häufig zu Fehlern führen. | ||
|Im Softwarepraktikum wird | |Im Softwarepraktikum wird bei jedem Commit der Code mit Sonar analysiert: | ||
* Die Analysen von Sonar zeigen verbesserungswürdige | * Die Analysen von Sonar zeigen verbesserungswürdige Stellen im Programmcode. Gerade die als ''Bugs'' oder ''Code Smells'' markierten Meldungen können auf echte Fehler und Unsinnigen code hinweisen. Mehr informationen zu der Bedeutung der einzelnen Metriken finden sie [https://docs.sonarqube.org/latest/user-guide/metric-definitions/ hier]. | ||
* Mit dem Tag "Resharper" versehene Meldungen entsprechen | *Mit dem Tag "Resharper" versehene Meldungen entsprechen der Analyse von Resharper und werden für die Beurteilung der Rahmenbedinungen verwendet. | ||
Sonar sollte | Sonar sollte zu den ersten Anlaufstellen gehören, wenn Sie die Codequalität ihres Projekts verbessern wollen. | ||
|- | |- | ||
| colspan="3" |'''Kommunikation''' | | colspan="3" |'''Kommunikation''' | ||
Zeile 52: | Zeile 52: | ||
|[https://discourse.sopranium.de Discourse] ist eine Open-Source Diskussions-Plattform, deren Funktionalität an Seiten wie [https://stackoverflow.com/ Stackoverflow] oder auch das [https://community.monogame.net/ Monogame-Forum] angelehnt ist. | |[https://discourse.sopranium.de Discourse] ist eine Open-Source Diskussions-Plattform, deren Funktionalität an Seiten wie [https://stackoverflow.com/ Stackoverflow] oder auch das [https://community.monogame.net/ Monogame-Forum] angelehnt ist. | ||
Genaueres über die Features finden Sie unter [https://www.discourse.org/features Discourse] oder einfach direkt auf der Seite. | Genaueres über die Features finden Sie unter [https://www.discourse.org/features 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: | | 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 | *Technische Fragen zur Entwicklungsumgebung | ||
*Fragen zum Ablauf | * Fragen zum Ablauf | ||
*Fragen zu Formalien und Benotung | *Fragen zu Formalien und Benotung | ||
*Fragen zu Monogame und C# | *Fragen zu Monogame und C# | ||
Zeile 62: | Zeile 62: | ||
|- | |- | ||
|[[File:mattermost_logo.png|100px|link=https://chat.sopranium.de|alternativtext=|zentriert|MML]]Mattermost | |[[File:mattermost_logo.png|100px|link=https://chat.sopranium.de|alternativtext=|zentriert|MML]]Mattermost | ||
|Mattermost ist eine Open-Source Chat-Plattform die in ihrer Funktionalität an Chatprogramme wie z.B. [https://discord.com/ Discord] oder [https://slack.com Slack] erinnert. Hier steht Ihnen als Gruppe neben den öffentlichen Chaträumen auch ein eigener | | Mattermost ist eine Open-Source Chat-Plattform die in ihrer Funktionalität an Chatprogramme wie z.B. [https://discord.com/ Discord] oder [https://slack.com Slack] erinnert. Hier steht Ihnen als Gruppe neben den öffentlichen Chaträumen auch ein eigener | ||
Chatraum zur Verfügung. | Chatraum zur Verfügung. | ||
Mattermost bietet alle Features, die man von derartigen Programmen erwartet, insbesondere auch Android oder iOS Apps. | Mattermost bietet alle Features, die man von derartigen Programmen erwartet, insbesondere auch Android oder iOS Apps. | ||
|Wir verwenden [https://mattermost.com Mattermost] als Chat-Plattform. | |Wir verwenden [https://mattermost.com Mattermost] als Chat-Plattform. | ||
*Mattermost eignet sich insbesondere um während dem Entwickeln miteinander zu sprechen und Probleme schnell zu klären. | *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 | *Schnell Kontakt mit den Dozenten, Teammitgliedern oder dem Tutor aufzunehmen z.B. um während der Sprechstunde einen Videochat zu vereinbaren um einfach und unkompliziert eine Frage zu stellen. | ||
|- | |- | ||
| colspan="3" |'''Organisation''' | | colspan="3" |'''Organisation''' | ||
Zeile 81: | Zeile 81: | ||
|Das Dashboard zeigt Statistiken über ihre Arbeit im Sopra: | |Das Dashboard zeigt Statistiken über ihre Arbeit im Sopra: | ||
* Bereits erreichte Punkte aus den Sprints | *Bereits erreichte Punkte aus den Sprints | ||
* Verbuchte geschätzte, und verbuchte gearbeitete Zeit | *Verbuchte geschätzte, und verbuchte gearbeitete Zeit | ||
* | *Anonymisierte Ranglisten über alle Soprateilnehmer | ||
|- | |- | ||
|[[File:keycloak_logo.svg|100px|link=https://sso.sopranium.de|alternativtext=|zentriert| | |[[File:keycloak_logo.svg|100px|link=https://sso.sopranium.de|alternativtext=|zentriert| | ||
A]]Keycloak | A]]Keycloak | ||
|Wir verwenden zur zentralen | |Wir verwenden zur zentralen Benutzerverwaltung 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 | | Keycloak sorgt für einen einheitlichen Login auf allen Diensten. 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== | ==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 [https://sso.sopranium.de sso.sopranium.de]. Nachdem Sie Ihren Account eingerichtet haben können Sie alle aktuell verfügbaren Dienste über [https://services.sopranium.de services.sopranium.de] erreichen. | 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 [https://sso.sopranium.de sso.sopranium.de]. Nachdem Sie Ihren Account eingerichtet haben können Sie alle aktuell verfügbaren Dienste über [https://services.sopranium.de 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. | 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)=== | ===Sopra Accounts (Keycloak) === | ||
<gallery widths="300"> | <gallery widths="300"> | ||
File:First_login_01.png|Aufforderung zur Passwortaktualisierung. | File:First_login_01.png|Aufforderung zur Passwortaktualisierung. | ||
File:First_login_02.png|Eingabemaske für ein neues Passwort. | File:First_login_02.png|Eingabemaske für ein neues Passwort. | ||
File:First_login_03.png|Erfolgsmeldung. Sie können dieses Fenster nun schließen und zu [https://services.sopranium.de services.sopranium.de] wechseln. | File:First_login_03.png|Erfolgsmeldung. Sie können dieses Fenster nun schließen und zu [https://services.sopranium.de services.sopranium.de] wechseln. | ||
</gallery> | </gallery> | ||
Zu beginn des Softwarepraktikums erhalten Sie eine Mail in der Sie zur | Zu beginn des Softwarepraktikums erhalten Sie eine Mail in der Sie zur aktualisierung Ihres Useraccounts aufgefordert werden. Folgen Sie dem Link und führt Sie gemäß den oben stehenden drei Schritten 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=== | ===Gitea=== | ||
[[File:Gitea_signin.png|thumb|300px|left|Einloggen bei Gitea mit Keycloak]] | [[File:Gitea_signin.png|thumb|300px|left|Einloggen bei Gitea mit Keycloak]] | ||
Falls Sie Gitea nicht über [https://services.sopranium.de services.sopranium.de] sondern direkt über [https://git.sopranium.de 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 | Falls Sie Gitea nicht über [https://services.sopranium.de services.sopranium.de] sondern direkt über [https://git.sopranium.de 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 Authentifizierung via Keycloak zu benutzen. | ||
===Discourse === | |||
===Discourse=== | |||
[[File:First_login_discourse_01.png|thumb|300px|left|Discourse's Eingabemaske zur Bestätigung der übermittelten Daten. Sie können hier einfach "Neues Benutzerkonto erstellen" drücken.]] | [[File:First_login_discourse_01.png|thumb|300px|left|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. | 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. | ||
<br clear="all" /> | <br clear="all" /> |
Version vom 13. Oktober 2021, 10:42 Uhr
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 Unternehmensprojekten zum Einsatz kommen könnte und die Gruppen durch nützliche Dienste unterstützt.
Sämtliche zur Verfügung gestellten Dienste sind zur einfachen Übersicht über die Seite services.sopranium.de erreichbar. Nach der Gruppeneinteilung erhalten Sie eine Email, die zur Einrichtung ihres Accounts auffordert. 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 im Fragebogen 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 | Was ist der 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:
|
Jenkins | Jenkins ist ein Open-Source Werkzeug zur kontinuierlichen Integration d.h. um automatisch 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:
Außerdem erzeugt Jenkins bei Commits auf dem |
Sonar | Sonar Cube analysiert Programmcode eines Projekts und weist auf problematische Stellen hin d.h. Stellen die Coding Conventions verletzen, oder bekannten Problemmustern entsprechen, z.B. mehrmals vorkommende Codestellen oder Codeconstrukte die häufig zu Fehlern führen. | Im Softwarepraktikum wird bei jedem Commit der Code mit Sonar analysiert:
Sonar sollte zu den ersten Anlaufstellen gehören, wenn Sie die Codequalität ihres Projekts verbessern wollen. |
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:
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. |
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.
|
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:
|
Keycloak | Wir verwenden zur zentralen Benutzerverwaltung 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 für einen einheitlichen Login auf allen Diensten. 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)
-
Aufforderung zur Passwortaktualisierung.
-
Eingabemaske für ein neues Passwort.
-
Erfolgsmeldung. Sie können dieses Fenster nun schließen und zu services.sopranium.de wechseln.
Zu beginn des Softwarepraktikums erhalten Sie eine Mail in der Sie zur aktualisierung Ihres Useraccounts aufgefordert werden. Folgen Sie dem Link und führt Sie gemäß den oben stehenden drei Schritten 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
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 Authentifizierung via Keycloak zu benutzen.
Discourse
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.