Kombi.
GitLab und Git – Ein moderner Entwicklungsprozess
Mit unserer GitLab und Git Schulung zur erfolgreichen Versionsverwaltung inklusive Pipelining für Continuous Integration, Delivery und Deployment
Beschreibung
Unsere bekannte Git-Schulung „Git – Moderne Versionsverwaltung aus der Praxis“ wird in Kombination mit unserer Schulung „GitLab – Versionsverwaltung und Pipelining“ durchgeführt. In dieser umfassenden Schulung lernst du nicht nur die Grundlagen und fortgeschrittenen Funktionen von Git, sondern auch, wie du diese im Kontext von GitLab effektiv einsetzt. Anders als bei herkömmlichen Git-Schulungen, die sich ausschließlich auf die Versionsverwaltung konzentrieren, integrieren wir das Codemanagementsystem direkt in den Lehrplan.
Du erhältst praktische Einblicke, die Werkzeuge nahtlos in den Entwicklungsprozess integriert wird, um die Zusammenarbeit im Team zu optimieren. Neben den technischen Aspekten legen wir großen Wert auf praxisnahe Anwendungsbeispiele und Übungen, die dir helfen, das Gelernte sofort umzusetzen.
In-House – du interessierst dich für eine In-House Schulung exklusiv für dein Team oder Unternehmen? Frage die Schulung an oder lass dich unverbindlich beraten.
Schulungsziel
Ziel dieser kombinierten Schulung ist es, den Teilnehmern umfassende Kenntnisse und praktische Fähigkeiten in der modernen Versionsverwaltung mit Git und der Anwendung des Codemanagementsystems vermitteln. Die Teilnehmer sollen in der Lage sein, Git effektiv für die Versionskontrolle zu nutzen und GitLab für die Verwaltung und Optimierung von Entwicklungsprozessen einzusetzen. Ein besonderer Schwerpunkt liegt auf der Einrichtung und Nutzung von CI/CD-Pipelines, um Entwicklungs- und Deployment-Prozesse zu automatisieren. Am Ende der Schulung sollen die Teilnehmer in der Lage sein, die Effizienz und Qualität ihrer Projekte durch den Einsatz dieser Werkzeuge signifikant zu steigern.
Zielgruppe
Diese Schulung richtet sich an Softwareentwickler, DevOps-Ingenieure und IT-Professionals, die ihre Kenntnisse in der Versionsverwaltung und dem Einsatz von CI/CD-Pipelines erweitern möchten. Sie ist ideal für Teams und Einzelpersonen, die ihre Entwicklungsprozesse optimieren und modernisieren wollen.
Vorkenntnisse
Minimale Kenntnisse in egal welcher Programmiersprache
Inhalt
Schulungskombination
Diese Kombi-Schulung enthält folgende Schulungen und erweitert diese mit weiterem Inhalt:
Teil 1 – Git Intensiv Workshop
Softwareentwicklungsprozesse und Git Basics
- Zielsetzung: Der moderne Softwareentwicklungsprozess
- Softwareentwicklungsprozesse aus Sicht der Dev-Teams und aus Sicht von Process-Ownern
- Generelle Konzepte – Vogelperspektive Git
- Git-Bereiche (Repositories, Stage/Index, Workspace, Stash)
- Was sind Commits, Branches und Tags?
- Repository-Konfigurationsmöglichkeiten
- Was sollte man bei einer Commit Message beachten?
- Warum sind Commit Messages für einen Entwicklungsprozess wichtig?
- Tags und Semantic Versioning
- Git-Zeitreise – Mit Check-out in die Vergangenheit reisen
- Änderungen mit Git Log untersuchen
- Änderungen rückgängig machen (revert, reset, amend)
- Squash – Commits aufräumen
- Stash – mehr als nur ein Back-up
- Commits und Tags signieren
Teamwork und verteiltes Arbeiten
- Bitbucket/GitLab als Remote Repository
- Einrichten von SSH- oder HTTP-Token
- Zentraler Workflow vs. Feature-Branch-Workflow
- Beziehen und Veröffentlichen von Codeständen (push, pull, fetch)
- Warum können mehrere Remotes sinnvoll sein?
- Vergleich der Strategien – Pull Merge vs. Pull Rebase
- Code mit anderen Teammitgliedern via Branches teilen
- Teams via Merge, Rebase, Cherrypick synchronisieren
- Branches integrieren (Fast Forward vs. Non Fast Forward Merge)
- Wie funktioniert ein Merge in Git (Vertrauen schaffen)?
- Git-Sub-Modules und dessen Anwendungsgebiete
- Git-LFS – wohin mit meinen Binaries?
Codemanagement und Releasemanagement
- Mit Git und Codemangement zum modernen Entwicklungsprozess
- Overall Workflows (Gitflow, Trunk-Workflow, Fork-Workflow)
- Reviewmanagement (inkl. Pull-Requests, Maintainer-Konzept)
- Bitbucket/GitLab als Social Engineering und Know-how-Plattform
- Releasemanagemenment mit Git
- Wie wird eine Release mit Feature und Code-Freeze vorbereitet?
- Wie können Wartungslinien bzw. LTS-Versionen verwaltet werden?
- Build und Testergebnisse beim Review automatisiert berücksichtigen
- Kontinuierlicher Qualitätssicherung: Always ready for release
- Integrationsmöglichkeiten in Jira und Anbindung an das übergeordnete Sprint- und Releasemanagement
- Demonstration zum Mitmachen – der komplette Lebenszyklus einer Codeänderung vom Melden eines Bugs über die Einplanung in einem Release, Fix und Review bis zum Delivery
Teil 2 – Gitlab Schulung
Aufbau und die Konfigurationsmöglichkeiten
- Aufbau von Projekt und Repository
- Erstellen eines neuen Repositories
Kollaborative Entwicklung
- Verteiltes Teamwork (Einarbeitung, Code-Qualität, Kommunikation)
- Teamarbeit und Zugriffsrechte
- Benutzer und Gruppenverwaltung
- Zugriffsrechte und Rollen – nicht nur Lese- und Schreibrechte
- Erstellung von Merge Requests
- Merge Requests, Branchmanagement – Reviewmanagement
- Merge Request als Quality Gate
- Diskussionsplattformen
- Maintainer-Konzepte
- Prozesssicherung – ein formeller und informeller Ansatz der Prozesssicherheit
- Push- und Merge-Checks – Prozessintegrität
- Unterstützung von Branching-Modellen und Merge-Strategien
Continuous Integration (CI)
- Einführung in CI/CD
- Erstellung von CI-/CD-Pipelines
- Deklarative Entwicklung der Pipeline (.gitlab-ci.yml)
- GitLab-Pipeline-Sprache (YAML Syntax Reference)
- Konfiguration von CI-Dateien
- Integration von Tests und Builds
- Integration der Qualitätssicherung (z.B. statische Codeanalyse und Vulnerability Checks)
Demonstrationen und Übungen in der GitLab Schulung
- Praktische Übung: Besprochene Aspekte werden zusammen in GitLab konfiguriert.
- Demonstration: Wir entwickeln gemeinsam eine Demo-Anwendung und demonstrieren alle besprochenen Aspekte.
Wir schauen über den Tellerrand
Darüberhinaus sehen weitere System bereit, die dem CI/CD System zusätzliche Informationen zur Verfügung stellt, um Änderungen in einem größeren Kontext zu bewerten und zu verstehen. Folgende Systeme stehen vorkonfiguriert zur Verfügung und werden in die CI/CD Pipeline integriert:
- Jira – Zusammen werden wir eine minimalistische Release, basierend auf Scrum, planen. Ziel ist die Umsetzung eines Issues mit den Werkzeugen Bitbucket und Git.
- SonarQube – Jeder Code, den wir erzeugen, wird einer Code-Analyse unterzogen, um z. B. Code-Smells, Bugs oder Sicherheitslücken zu identifizieren, wodurch Quality Gates eines Pull Request die Integration des Codes verhindern können.
- Nexus – Jede Codeänderung und natürlich auch ein Release wird durch eine Pipeline in dem Artefaktmanagementsystem Nexus abgelegt.
Wichtig ist hierbei, dass der Fokus auf Git und GitLab liegt und alle anderen Systeme nur zu Demonstrationszwecken zur Verfügung stehen. Die Schulung behandelt hier keine administrativen Tätigkeiten in diesen Systemen. Falls dies trotzdem gewünscht ist, kannst du uns gerne kontaktieren.
GitLab Schulung – Versionsverwaltung und Pipelining praktisch
Bewertung der Schulung
Bereit für DevOps? Mit unseren Zusatzangeboten machen wir mehr aus deiner Schulung.
Individualisierung - Schulungen können mit speziellen Erweiterungen individualisiert werden. Dabei lassen sich Inhalte theoretisch und praktisch anpassen.