Kombi.
Bitbucket und Bamboo Schulung – Intensiv Workshop
In der Bitbucket und Bamboo Schulung entwickeln wir zusammen eine praxiserprobte Continuous Integration, Delivery und Deployment (CI/CDD) Pipeline als wesentlichen Bestandteil einer modernen DevOps-Infrastruktur.
Beschreibung
Unsere Bitbucket und Bamboo Schulung zu Continuous Integration Delivery und Deployment (CI/CDD) ist ein wesentlicher Bestandteil einer modernen DevOps-Infrastruktur und in jedem agilen Ansatz ein sehr wichtiger Baustein. Diese Schulung kombiniert verschiedene Schulungen, um dieses Thema ganzheitlich zu betrachten.
Einer der wesentlichen Vorteile ist, dass durch eine regelmäßige Integration von Codeänderungen die Qualität durch den Entwicklungsprozess sichergestellt wird und somit Probleme sehr schnell festgestellt werden (“Fail Fast”). Durch das gezielte Ermitteln von vergleichbaren Qualitätsmetriken lässt sich nicht nur die Qualität messen, sondern auch die Basis für ein “Learn Fast” schaffen.
Continuous Integration etabliert dadurch einen Regelkreislauf, der nicht nur die Qualität sicherstellt, sondern das Entwicklungsteam durch kontinuierliches Feedback verbessert. Dabei ist eine geschickte Unterstützung von Tools wie Git, Bamboo, SonarQube, Nexus/Artifactory, Bitbucket oder Docker notwendig. Denn durch sie wird der Entwicklungsprozess sichergestellt sowie automatisierte Freigabeprozesse und sogar die automatisierte Auslieferung einer Release abgebildet. Ihr Einsatz ist somit der Schlüssel für Continuous Integration (CI), Delivery und Deployment (CDD).
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
Das Hauptziel einer CI/CDD-Infrastruktur ist es, dass sich ein Softwareprodukt schneller und in kürzeren Release-Zyklen entwickeln lässt bei gleichzeitiger Qualitätssicherung des Produktes. Genau dieses Ziel verfolgt die Schulung. Zusammen entwickeln wir in praktischen Übungen schrittweise eine Pipeline für Codeänderungen, die unsere Anforderungen an Qualität automatisiert sichert. Die Pipeline wird zudem in der Lage sein, ein Release automatisiert freizugeben und zu veröffentlichen. Nach der Schulung kannst du eine prozesssichere CI/CDD-Umgebung in deinem Unternehmen für ein Projekt/Produkt etablieren und betreuen. Wir konzentrieren uns auf den grundlegenden Aufbau und die Möglichkeiten der Vernetzung der unterschiedlichen Systeme. Viele Anwendungsfälle sind vorab definiert und Systeme vorkonfiguriert. Wer einen Deep-Dive in die verschiedenen Systeme möchte, kann uns darauf ansprechen.
Zielgruppe
Diese Schulung kommt für jeden infrage, der ein flexible CI/CDD-Toolchain nutzen, einführen oder modernisieren möchten: Entwickler, Release/Build Manager oder Projektverantwortliche.
Vorkenntnisse
Programmiersprachen oder der IT-Administration ist nicht notwendig, minimale Java- und sowie gute Git-Kenntnisse sind aber von Vorteil.
Falls du keine Git-Erfahrung hast, empfehlen wir eine Git-Schulung im Vorfeld zu besuchen: Git in der Praxis
Inhalt
Schulungskombination
Diese Kombi-Schulung enthält den Inhalt der folgenden Schulungen und erweitert diese mit weiterem Inhalt:
Bitbucket – Modernes Codemanagement
Überblick Bitbucket Datacenter vs. Cloud – Vor- und Nachteile
Git Crashcourse
- Die wichtigsten Git-Befehle
- Die wichtigsten Git-Strategien (z.B. Branch Workflow)
- Empfohlene Git-Workflows und deren Vor- und Nachteile
- Zentraler Workflow, Trunk-Workflow, Fork-Workflow
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
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.
Bamboo – Continuous Integration, Delivery und Deployment
Theorie und Überblick
- Konzepte und Vorteile von Continuous Integration, Delivery und Deployment
- Unterschied zwischen Continuous Integration und Deployment Projekten
Anatomie der Continuous Integration Projekte
- Genereller Aufbau und die Konfigurationsmöglichkeiten
- Aufbau von Projekt, Plan, Stage, Job und Task
- Konfiguration von: Repository, Artefakt, Trigger und Agent
- Automatisches Mergen (Branch Updater und Gatekeeper)
- Branch Detection und PR Detection
Anatomie der Deployment Projekte
- Genereller Aufbau und die Konfigurationsmöglichkeiten
- Aufbau von Projekt, Environments, Release und Task
- Freigabe und Rollback von Releases
- Konfiguration von: Anbindung Plan und Konfiguration von Environment, Trigger und Agent
- Permissions
Bamboo Specs
- Abgrenzung zu Jenkins und GitLab Pipelines
- Deklarative Beschreibung von Pipelines: Java- / YAML-Specs
- Maven Projekte für Java-Specs
- API für Continuous Integration und Deployment Projekten
- Erstellung einer Pipeline basierend auf Java-Specs
- Repository Stored Specs (RSS)
Erweiterte Konfiguration
- Credential Store und Password Variablen
- Bamboo Agenten
- Linked Repositories
- Anbindung an Jira und Bitbucket
Praktische Übung
- Bamboo wird als CI-System für unsere Demo-Umgebung konfiguriert.
- Wir werden eine Codeänderung in unserer Demo-Anwendung durchführen und deren automatisierte Integration bewerten.
- Zusammen werden wir eine Release in Jira planen, entsprechende Codeänderungen in unserer Demo-Anwendung machen und den resultierenden Codestand als Release automatisiert, deployen und in unserer Demo-Umgebung ausliefern.
In der Bitbucket und Bamboo Schulung blicken ü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 Bitbucket und Bamboo liegt und alle anderen 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.
Bamboo – Erfolgreich Continuous Integration, Delivery und Deployment
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.