The URI of TUHH Docker Registry changed from "docker.rz.tu-harburg.de:5000" to "docker.rz.tu-harburg.de". Please update your gitlab-ci.yml files if you use images from this registry.

Commit d3574086 authored by Axel Dürkop's avatar Axel Dürkop

first commit

parent b755fc0a
---
title: Einführung in GitLab
---
# Einführung in GitLab
Axel Dürkop, "Modernes Publizieren"
**Workshop an der TUHH, 25. April 2019**
---
# Agenda
- Einführung in das Konzept von Git[Lab|Hub]
- GitLab in der Produktion digitaler Artefakte
- GitLab im Projektmanagement
---
# Einführung
+++
## Das "Git" in GitLab
- Verteiltes Versionskontrollsystem [Git](https://git-scm.com/)
- 2005 von [Linus Torvalds](https://de.wikipedia.org/wiki/Linus_Torvalds) entwickelt
- Hauptzweck: "Tracking" textbasierter Dateien
- Git lernen: [Try Git!](https://try.github.io/)
+++
## GitHub
- "Umschlagplatz" für Code, Texte und Daten
- Code: https://github.com/collections/open-source-organizations
- Daten: https://github.com/collections/open-data
- Science: https://github.com/showcases/science
- Texte: https://bundestag.github.io/gesetze/
+++
## GitLab
- Verteilte Versionskontrolle von [GitLab Inc.](https://about.gitlab.com/about/) zum [Selberhosten](https://about.gitlab.com/installation/)
- ermöglicht Workflow von der Idee zum fertigen Produkt
- An der TUHH: <https://collaborating.tuhh.de/>
- entstanden im Experimentierfeld der Hamburg Open Online University (HOOU)
- eingesetzt im Projekt "Modernes Publizieren"
---
# Produktion
+++
## Pipelines mit Docker Images
- Docker: Virtualisierung von Computern
- Verschiedene Projekte im Rahmen der HOOU wurden damit realisiert
- [BiotechAll](https://biotechall.rz.tuhh.de/)
- [Hop-on](https://hopon-newcomers.com/de/reader/index.html)
- [tekethics Booklet](https://collaborating.tuhh.de/hoou/tekethics-booklet)
- [Einführung in die Informationstechnik](https://www3.tuhh.de/itbh/lehre/inf1-sose2019/)
---
# Hands-on!
+++
## GitLab von außen
https://collaborating.tuhh.de/
- Projekte
- Benutzer_innen
- Gruppen
+++
## GitLab von innen
+++
## Registrieren und Anmelden
https://collaborating.tuhh.de/
- keine Zugangsbeschränkung an der TUHH
- kein Funktionsaccount nötig
- internationale Kollaboration möglich
- **Einschränkung:** Nicht-TUHH-Mailadressen dürfen keine eigenen Projekte anlegen.
+++
## Profil und Einstellungen
- **Profile:** Avatar, Bio und verbundene Accounts
- **Account:** Änderung des Benutzernamens
- **Emails:** Zusätzliche Emails
- **Notifications:** Einstellen der Dichte von Meldungen
- **Preferences:** Aussehen der Oberfläche
+++
## Projekt anlegen
- individuelle Projekte aus dem professionellen Kontext (Daten, Code, Text)
- **Achtung!** *Visibility Level* entscheidet über Sichtbarkeit nach außen
+++
**Aufgabe**
Legen Sie ein eigenes Projekt in Ihrem Account an!
+++
## Projekteinstellungen - General
- **Permissions:** *Welche* Bereiche des Projekts werden genutzt? *Wer* darf die Bereiche nutzen?
- **Advanced:** umbenennen, übertragen, löschen
+++
## Projekteinstellungen - Members
- Hinzufügen von Beitragenden
- Zuweisung von Rollen
+++
## Exkurs: Markdown
https://dillinger.io/
- einfache Auszeichnungssprache für Texte
- kann mit HTML und LaTeX angereichert werden
- weit verbreitet im Netz
- kann mit [Pandoc](http://pandoc.org/) in zahlreiche Zielformate gewandelt werden
+++
## Weiter: Arbeiten im Projekt
- Hinzufügen einer README.md
- Beschreibung des Projekts
- Beispiele guter READMEs in namhaften Projekten bei GitHub
---
## Projektmanagement
+++
## Gruppen
- Mit Gruppen in GitLab können Teams gebildet werden
- Gruppen können Untergruppen (*subgroups*) haben
- Projekte können in/für Gruppen angelegt werden
+++
## Erste Schritte Projektmanagement
- Projektdefinition
- Projektplanung
- Strukturierung des Projekts
- Sammlung und Darstellung von Aufgaben/Arbeitspaketen
- Aufgabenverteilung
+++
## Das Wiki
- Jedes Projekt hat ein **Wiki**
- Inhalte im Wiki werden mit Markdown notiert
- Das Wiki ist ebenfalls ein Git-Repository und bietet alle Vorteile der dezentralen Bearbeitung
- Wikis eignen sich sehr gut zur
- Informationssammlung
- Projektdokumentation
- Hacks zur (fast) finalen Dokumentenerstellung mit *pandoc*, *GitBook* u.ä.
+++
## Issues
- Festhalten von Arbeitsaufträgen, User Storys, Fehlerberichten, Kundenwünschen etc.
- Diskussion über die Details
- Entsprechend der Idee von *User Storys* können mit Checkboxen *Tasks* definiert werden. Diese beschreiben die konkreten Aufgaben, die zum Einlösen der Story erledigt werden müssen.
+++
## Label
- Label sind frei definierbare "Etiketten" für Issues und ermöglichen übergreifende Ordnungskonzepte
- Aus Labeln können Listen im Board erstellt werden
+++
## Das Board
- Jedes Projekt hat ein Board
- sinnvolle Strukturierung von Issues z.B. gemäß einer Projektmanagementmethode (Kanban, Scrum o.ä.)
+++
## Zuweisung von Issues
- Issues können entsprechend der Aushandlung zwischen den Beitragenden zugewiesen werden
- Issues können an einen *Milestone* oder eine individuelle Deadline gebunden werden
- Issues können gelabelt werden
+++
# Kontakt
**Email**: axel.duerkop@tuhh.de
**Mastodon**: https://scholar.social/@xldrkp
**GitLab**: https://collaborating.tuhh.de/users/xldrkp/projects
+++
## Hack[a|er]space
https://community.tuhh.de/c/hackerspace
**jeden Mittwoch von 14:00 bis 17:00 Uhr**
im ITBH (Gebäude Q)
- Vorträge
- Beratung
- Experimentieren
- Wissen und Erfahrung teilen
- *Own Your Brought Device (OYBD)*
+++
## Nutzungsbedingungen
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons Lizenzvertrag" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />Diese Präsentation von Axel Dürkop (ITBH an der TUHH) ist lizenziert unter einer <a rel="license" href="https://creativecommons.org/licenses/by/4.0/deed.de">Creative Commons Namensnennung 4.0 International Lizenz</a>.
Nutzen Sie diese Präsentation gern im Rahmen der genannten Lizenz, um auch anderen die Vorzüge von GitLab näher zu bringen.
---
# Reserve
+++
## Branches
- Branches sind eigenständige Entwicklungslinien
- Ergebnisse aus Branches können in andere Branches **gemergt** werden
- Es ist sinnvoll, **Branches aus Issues** zu erstellen
- Branches sollten nach dem Mergen gelöscht werden
**Branches kosten nichts und können nach Herzenslust jederzeit auch zum Experimentieren und Spielen erstellt werden**
+++
## Merge Requests
- **Merge Requests (MR)** sind zu verstehen als
*Antrag auf Übernahme von Beiträge aus einem Quellbranch in einen Zielbranch*
- MR können
1. innerhalb eines Projekts von einem Branch zu einem anderen gestellt werden.
1. von einem geforkten Projekt (Kopie) auf das Quellprojekt (Original) gestellt werden.
- MRs haben großes Potential für die Qualitäts-kontrolle durch die Entwicklergemeinschaft
+++
## Merge
- **mergen** bezeichnet den Vorgang, einen *Commit* mit einem anderen zu verschmelzen
+++
## Forks
Als **Fork** wird die Kopie eines Repositorys bezeichnet.
+++
**Aufgabe**
Forken Sie das Repository dieser Präsentation in Ihren Account!
+++
## Review Apps
GitLab bietet die Möglichkeit, auf Basis von Branches so genannten **Review Apps** zu generieren. Hierbei kommen Virtualisierungstechniken wie [Docker](https://de.wikipedia.org/wiki/Docker_(Software)) zum Einsatz.
**Review Apps** sind (vollständige) Anwendungen/Artefakte auf Basis von Branches. Sie dienen dazu, dem Kunden bzw. dem Team eine Vorschau auf die Implementierung einer Funktion oder Anforderung zu geben.
+++
## GitKraken
- [grafischer Client](https://www.gitkraken.com/) zur lokalen Verwaltung von Dateien
- Anbindung an entfernte Git-Dienste wie GitHub, GitLab, Bitbucket u.a.
+++
## Grundbegriffe
| | |
|---------------|------------------------------------------|
| Projekt | Organisationsheinheit |
| Repository | Ort für Dateien |
| Issue | Thema |
| Commit | Speicherung |
| Branch | Parallele Entwicklungslinie |
| Merge Request | Antrag auf Zusammenführung von Beiträgen |
| Merge | Zusammenführung von Beiträgen |
+++
## Exkurs auf Wunsch: Pandoc
https://pandoc.org/
Umwandlung zahlreicher Quell- und Zielformate ineinander
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment