Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
cs:it:gitlab [2018/11/15 14:47] – spitzlei | cs:it:gitlab [2024/07/12 11:20] (aktuell) – Update Links spitzlei | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== GitLab ====== | ====== GitLab ====== | ||
- | |||
- | ===== Institut für Informatik GitLab ===== | ||
- | |||
Unter https:// | Unter https:// | ||
Zeile 8: | Zeile 5: | ||
Unser GitLab hat folgende Erweiterungen freigeschaltet: | Unser GitLab hat folgende Erweiterungen freigeschaltet: | ||
- | * die offizielle [[https://about.gitlab.com/ | + | * die offizielle [[https://docs.gitlab.com/ |
- | * [[https:// | + | * [[https:// |
- | * [[https:// | + | * Statische Seiten ausliefern mit [[#gitLab-pages|GitLab-Pages]] |
+ | |||
+ | Die aktuellen SSH Hostkey-Fingerprints des Systems lauten: | ||
+ | ``` | ||
+ | 2048 SHA256: | ||
+ | 256 SHA256: | ||
+ | 256 SHA256: | ||
+ | ``` | ||
Im Folgenden werden Not-ToDo' | Im Folgenden werden Not-ToDo' | ||
Zeile 18: | Zeile 22: | ||
==== Studenten-Zugriffsrechte höher als Developer ==== | ==== Studenten-Zugriffsrechte höher als Developer ==== | ||
- | [[https:// | + | [[https:// |
==== Studenten arbeiten in geteilten Projekten auf unprotected branches ==== | ==== Studenten arbeiten in geteilten Projekten auf unprotected branches ==== | ||
- | Auf [[http://doc.gitlab.com/ | + | Auf [[https://docs.gitlab.com/ |
==== Studenten als Gruppen-Mitglieder ==== | ==== Studenten als Gruppen-Mitglieder ==== | ||
Zeile 30: | Zeile 34: | ||
===== Best Practices ===== | ===== Best Practices ===== | ||
- | [[http://doc.gitlab.com/ | + | [[https://docs.gitlab.com/ |
Repositories heißen in GitLab // | Repositories heißen in GitLab // | ||
- | ==== Zugänge ==== | + | ===== Zugänge |
Das Instituts-GitLab ist nicht mit dem LDAP der Universität verbunden. Heißt wir können selbst Benutzer anlegen und dann ins GitLab integrieren. Dafür muss der User das [[cs: | Das Instituts-GitLab ist nicht mit dem LDAP der Universität verbunden. Heißt wir können selbst Benutzer anlegen und dann ins GitLab integrieren. Dafür muss der User das [[cs: | ||
- | ==== Import von Repos aus dem SVN ==== | + | ===== Import von Repos aus dem SVN ===== |
[[https:// | [[https:// | ||
- | ==== Repos für Studierende ==== | + | ===== Repos für Studierende |
Für Studierende ist es nicht notwendig, dass diese einer Gruppe zugeordnet werden. Ein normaler Account in unserem GitLab genügt. Dann könnt ihr unter der Gruppe " | Für Studierende ist es nicht notwendig, dass diese einer Gruppe zugeordnet werden. Ein normaler Account in unserem GitLab genügt. Dann könnt ihr unter der Gruppe " | ||
Zeile 65: | Zeile 69: | ||
Es gibt auch die Möglichkeit **öffentliche Repositories** anzulegen, welche dann auch von außen einsehbar sind ohne einen Zugang zu unserem GitLab zu haben. | Es gibt auch die Möglichkeit **öffentliche Repositories** anzulegen, welche dann auch von außen einsehbar sind ohne einen Zugang zu unserem GitLab zu haben. | ||
- | ==== Wofür stehen die Gruppen bzw. in welcher Gruppe erstelle ich mein Repo? ==== | ||
===== Gruppen ===== | ===== Gruppen ===== | ||
Auf oberster Ebene beginnen wir typischerweise mit der Lehrstuhlgruppe (bspw. “cn”) und gliedern das entsprechend den Bedürfnissen weiter in Untergruppen. Es gibt die Gruppe “general”, | Auf oberster Ebene beginnen wir typischerweise mit der Lehrstuhlgruppe (bspw. “cn”) und gliedern das entsprechend den Bedürfnissen weiter in Untergruppen. Es gibt die Gruppe “general”, | ||
Zeile 80: | Zeile 83: | ||
* **general**: | * **general**: | ||
- | ==== Binärdateien im GitLab (git-lfs) ==== | + | ===== Binärdateien im GitLab (git-lfs) |
Wenn man pdf-Dateien, | Wenn man pdf-Dateien, | ||
Zeile 89: | Zeile 92: | ||
Wir haben beispielhaft eine .gitattributes-Datei angelegt, welche ins Root-Verzeichnis des jeweiligen Projekts angelegt werden sollte, um automatisch neue Dateien direkt ins LFS mit aufzunehmen: | Wir haben beispielhaft eine .gitattributes-Datei angelegt, welche ins Root-Verzeichnis des jeweiligen Projekts angelegt werden sollte, um automatisch neue Dateien direkt ins LFS mit aufzunehmen: | ||
- | ==== Gitlab-Registry ==== | + | ===== Gitlab-Registry |
Wichtig/ | Wichtig/ | ||
* In der .gitlab-ci.yml muss die `docker build` Zeile um `--pull` ergänzt werden. | * In der .gitlab-ci.yml muss die `docker build` Zeile um `--pull` ergänzt werden. | ||
* Beispiel: `docker build -t $CI_REGISTRY_IMAGE --pull .` | * Beispiel: `docker build -t $CI_REGISTRY_IMAGE --pull .` | ||
* Schedule im Gitlab. Hierzu auf CI / CD → Schedules → New Schedule. Als Titel `Rebuild (Base-Image-Update)`. Dann `Every day (at 4:00am)` (bitte nur diese Zeit verwenden). Dann noch den Branch aussuchen, der verwendet wird. Alles andere so lassen, wie es ist. | * Schedule im Gitlab. Hierzu auf CI / CD → Schedules → New Schedule. Als Titel `Rebuild (Base-Image-Update)`. Dann `Every day (at 4:00am)` (bitte nur diese Zeit verwenden). Dann noch den Branch aussuchen, der verwendet wird. Alles andere so lassen, wie es ist. | ||
+ | |||
+ | ===== GitLab-Pages ===== | ||
+ | |||
+ | Statische Inhalte können direkt über die GitLab Pages ausgeliefert werden. Das können beispielsweise Projekt-Dokumentationen sein, die aus dem Quellcode von Projekten direkt gebaut und veröffentlicht werden sollen. Dabei kann die Dokumentation innerhalb der CI gebaut werden, muss in einen Top-Level-Ordner `public` kopiert werden und schon wird es ausgeliefert. Wichtig ist, dass der CI Job `pages` heißt. Unter `Settings -> General` kann die Sichtbarkeit der GitLab Pages definiert werden. | ||
+ | |||
+ | Unter `Settings -> Pages` sieht man dann den Link zu der Pages-Seite. | ||
+ | |||
+ | Weitere Informationen befinden sich in der offiziellen Dokumentation: |