Kombi. Schulung.
Git und Bitbucket Schulung – Moderne Softwareentwicklung
Mit dieser Git Schulung inklusive Bitbucket zur modernen Softwareentwicklung: Von Versionsverwaltung bis zu Quality Gates und Review-Management.
Beschreibung
Unsere bekannte Schulung „Git – Moderne Versionsverwaltung aus der Praxis“ wird in Kombination mit der Schulung „Bitbucket – Modernes Codemanagement“ durchgeführt. Die Schulung behandelt Codemanagementsysteme also nicht unabhängig auf einer allgemeinen theoretischen Basis, sondern wird speziell mit Bitbucket durchgeführt. Dadurch erhalten die Teilnehmenden praktische Einblicke und konkrete Anwendungsbeispiele, die direkt umgesetzt werden können. Die Kombination ermöglicht es, fortgeschrittene Features wie Pull Requests, Quality Gates, Process Enforcements und spezielle Branching-Strategien nahtlos in die Schulung zu integrieren.
Diese praxisorientierte Herangehensweise stellt sicher, dass die Teilnehmenden nicht nur die Grundlagen beherrschen, sondern auch die notwendigen Fähigkeiten erwerben, um moderne Softwareentwicklungsprojekte effizient zu managen. Während der Schulung werden reale Szenarien und typische Herausforderungen im Entwicklungsprozess behandelt, um den Teilnehmenden zu zeigen, wie sie diese effektiv zu lösen sind.
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
Nach dieser Schulung siehst du Git nicht mehr nur als simples Tool zur Versionierung, sondern als Schlüssel zu einem vollständigen und modernen Codemanagement Ansatz.
Du wirst nicht zögern, die vielfältigen Funktionen in deinen Alltag zu integrieren und ohne Sicherheitskopien Aktionen wie Reset oder Rebase durchführen. Du erkennst den wahren Wert dieser Tools und wirst moderne Entwicklungsprozesse in deinem Team zu etablieren. Du wirst nicht nur Befehle beherrschen, sondern auch Reviews managen, Social Engineering fördern und eine Know-How Plattform etablieren. Verschiedene Workflows werden dir vertraut sein und du wirst verstehen, wie Bitbucket deine Entwicklungsarbeit unterstützen kann.
Fortgeschrittene Features wie Branching-Strategien und Merge-Techniken werden zu deinem Handwerkszeug gehören. Nach diesem Training bist du nicht nur in der Lage, den besten Workflow für dich und dein Team zu wählen, sondern auch maßgeschneiderte Prozesse zu entwickeln, die genau zu den Bedürfnissen deines Projekts passen. Nach einem Blick über den Tellerrand wirst du wissen, wie du den gesamten Entwicklungsprozess auf ein neues Level hebst und eine Teamkultur förderst, die von Zusammenarbeit und Produktivität geprägt ist.
Zielgruppe
Diese Schulung richtet sich an Softwareentwickler, DevOps-Ingenieure und IT-Profis, die bereits grundlegende Kenntnisse in der Softwareentwicklung und im Umgang mit Versionskontrollsystemen haben. Insbesondere eignet sich die Schulung für Teams und Einzelpersonen, die ihre Fähigkeiten im Codemanagement vertiefen und die Effizienz ihrer Entwicklungsprozesse steigern möchten. Auch Projektmanager und Teamleiter, die die Zusammenarbeit und Codequalität in ihren Projekten verbessern wollen, werden von dieser praxisorientierten Schulung profitieren
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 aus der Vogelperspektive
- Die verschiednen 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
- Zeitreise – Mit Check-out in die Vergangenheit reisen
- Änderungen mit Logs 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
- Das 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 (Vertrauen schaffen)?
- Sub-Modules und dessen Anwendungsgebiete
- Large File Storage (LFS) – wohin mit meinen Binaries?
Codemanagement und Releasemanagement
- Mit Codemangement zum modernen Entwicklungsprozess
- Overall Workflows (Gitflow, Trunk-Workflow, Fork-Workflow)
- Reviewmanagement (inkl. Pull-Requests, Maintainer-Konzept)
- Social Engineering und Know-how-Plattform
- Workflows für Releasemanagemenment
- 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
- Optimale Branch Struktur für Continuous Integration, Delivery und Deployment
- Integrationsmöglichkeiten in Jira und Anbindung an das übergeordnete Sprint- und Releasemanagement
- Integrationsmöglichkeiten in Bamboo/Jenkins
- 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 – Codemanagement mit Bitbucket
Überblick Bitbucket Datacenter vs. Cloud – Vor- und Nachteile
Bitbucket – Genereller Aufbau und Konfigurationsmöglichkeiten
- Einführung in Projekte und Repositories
- Benutzerverwaltung und Zugriffsmöglichkeiten HTTPS (Basic, Token), SSH
- Rechtemanagement – nicht nur Lese- und Schreibrechte
- Verteiltes Teamwork mit Bitbucket (Einarbeitung, Codequalität, Kommunikation)
- Formeller und informeller Ansatz der Prozesssicherheit
- Erweiterte Projekt-/Repository Konfiguration
- Push Checks – Prozessintegrität
Pull-Requests
- Branchmanagement – Review-Management
- Code-Review-Prozess: Kommentare, Diskussionen und Änderungsanforderungen
- Branch Driven Development und deren Workflowmöglichkeiten (z.B. Maintainer-Konzept)
- Unterstützung von Branchingmodellen und Merge-Strategien
- Merge-Checks – Prozess- und Qualitätssicherung
- Code Insights – Code Quality Reports als Pull-Request-Unterstützung (z.B. SonarQube)
- Möglichkeiten bzgl. Mirroring und Git Large File Storage
- Entwicklungsprozess basierend auf Forks
- Integrationsmöglichkeiten in andere Systeme
Bitbucket Erweiterungen aus dem Atlassian Marketplace
Praktische Bitbucket Übungen
- Besprochene Aspekte werden in Bitbucket konfiguriert
- Wir ändern den Code der Demo-Anwendung und demonstrieren alle besprochenen Aspekte am Lebenszyklus der Änderung.
Wir schauen über den Tellerrand
Darüber hinaus werden weitere Systeme bereitgestellt, die uns helfen, Bitbucket und Git in einem größeren Kontext anzuwenden, um das Ganze nicht nur in der Theorie zu behandeln.
- Jira – Zusammen werden wir eine minimalistische Release, basierend auf Scrum, planen. Ziel ist die Umsetzung eines Issues mit den Werkzeugen Bitbucket und Git.
- Bamboo oder Jenkins – Jede Codeänderung und natürlich auch von einem Continuous Integration System bewertet
- 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.
Wichtig ist hierbei, dass diese Systeme nur zu Demonstrationszwecken zur Verfügung stehen. Die Schulung behandelt keine administrativen Tätigkeiten in diesen Systemen. Falls dies trotzdem gewünscht ist, kannst du uns gerne kontaktieren.
Bitbucket Schulung – Erfolgreich Code meistern
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.