GEDOPLAN

Git Workflows

Optimieren des eigenen Git-Workflows

  • Git für Fortgeschrittene – den eigenen sowie den Workflow im Team optimieren
  • Größere Projekte mit Modulen in Git verwalten: Welche Ansätze gibt es, was sind die Vor- und Nachteile?
  • GitOps: Git als Basis für Continuous Integration und Continuous Deployment nutzen

Beschreibung

Dieses Seminar führt in die fortgeschrittene Nutzung von Git ein, es werden Lösungen präsentiert, die sowohl den persönlichen Umgang mit Git als auch das Arbeiten im Team optimieren.

Git ist mittlerweile zum Dreh- & Angelpunkt für typische DevOps-Aufgaben geworden, allgemeinhin als GitOps bezeichnet. Die zugrundeliegenden Themen werden am Beispiel von Gitlab CI im Verbund mit Docker eingeführt.

Ein Spring-Boot-REST-API dient dabei als praxisorientiertes Projekt, in das Docker und Docker Compose für dielokale Entwicklung integriert werden. Die daraus resultierenden Docker-Images dienen im Anschluss als Basis für Gitlab CI, wo Schritt für Schritt die Möglichkeiten, die Gitlab CI für Continuous Integration und Continuous Deployment bietet, integriert werden.

Agenda

I. Git Workflows

  • Optimieren des eigenen Git-Workflows
    • Git Hooks
    • pre-commit
    • Welche Möglichkeiten gibt es?  Styleguides, Linting, Prettier, Whitespace, Code-Analyse…
       
  • Git-Workflows im Team
    • SVN/CVS-Workflow: Der zentrale "Un-Workflow" zum Veranschaulichen des Problems
    • github-Workflow (auch Feature Branch-Workflow genannt)
    • Wie nutze ich am besten Pull Request/Merge Request?
    • Code Review mit der Web-Oberfläche
    • Wer führt den Merge durch?
    • Was tun, wenn der Pull Request veraltet und plötzlich Konflikte hat?
    • Wann und warum git rebase nutzen?
    • Repository-Management mit der Weboberfläche – Permissions, Default Branches etc.
    • gitflow-Workflow
    • Eigene Workflows entwickeln – worauf kommt es an? Welches Modell passt wann am besten?
    • Tags und Releases
       
  • Projektorganisation
    • Monorepo vs. Multirepo – die Gretchenfrage
    • Wo liegen die Vor- und Nachteile beider Lösungen?
    • Wie entscheide ich, welche für mich am besten passt?

II. CI/CD & GitOps

Wir entwickeln eine minimalistische Web-Anwendung, um die Konzepte zu veranschaulichen.

  • Continuous Integration
    • Einführung in Gitlab CI und die Datei gitlab.yml
    • Docker Basics: Images und Container
    • Erstellen eines Docker-Images
    • Lokale Entwicklung mit Docker
    • Gitlab CI nutzen, um das Docker-Image zu bauen
    • Gitlab-Runner
    • Die Docker-Registry von Gitlab nutzen
    • Erweitern der CI-Pipeline am Beispiel von Unit Tests
    • Daily/Nightly Builds
    • Erweitern der CI-Pipeline am Beispiel von Test-Coverage-Reports
       
  • Continuous Deployment
    • Release- und Tagged-Images erstellen
    • Eigene private Gitlab-Runner installieren
    • Automatisches Deployment mittels privater Runner
    • Manuelles Deployment auf Knopfdruck (z.B. für Staging oder Produktion)
    • Möglichkeiten des Deployments
    • Verwalten von Umgebungsvariablen und Passwörtern/Schlüsseln/Geheimnissen
       
  • Infrastructure As Code
    • Was ist "IaC"?
    • Was bedeutet GitOps? (Spoiler: Es gibt keine klare Definition, der Begriff umfasst eine Vielzahl von Aspekten)
    • Welche Aspekte sind dies, wie nutze ich sie?
    • Der Merge Request als Dreh- und Angelpunkt
    • Ausblick: Cloud Deployment mit Kubernetes

Teilnehmerkreis und Voraussetzungen

Der Kurs richtet sich an Entwickler- und Adminstrator*innen, die ihre Git-Kenntnisse vertiefen möchten, sowie an Projektleiter- und Architekt*innen, die einen Überblick über die Möglichkeiten von GitOps wünschen.

Git- und Gitlab-Grundkenntnisse werden vorausgesetzt.

Schulungstermine

Diese Schulung bieten wir auch als maßgeschneiderte Firmenschulung an

GEDOPLAN erstellt für Sie auf Ihre Unternehmensziele zugeschnittene Firmenschulung.
Durch unser modulares Schulungssystem sind wir in der Lage, anhand Ihrer Angaben eine individuelle Schulung zu gestalten. Denn die optimale Weiterbildung Ihrer Mitarbeiter nach Ihren Vorgaben und Anforderungen stehen bei uns im Mittelpunkt.
Bei Interesse nehmen Sie bitte Kontakt, wir führen dann gerne mit Ihnen ein unverbindliches Gespräch

GEDOPLAN - Telefonkontakt

030 / 20 89 82 63 0

GEDOPLAN - E-Mail Kontakt

Tim.Neumann@GEDOPLAN.de

Weitere Schulungen

Vorträge & News zum Thema

News aus Schulung, Beratung & Softwareentwicklung

News aus Schulung, Beratung & Softwareentwicklung

News aus Schulung, Beratung & Softwareentwicklung

Das sagen Kursteilnehmer

Das sagen Kursteilnehmer

Das sagen Kursteilnehmer

Unsere Trainer

Unsere Trainer

Unsere Trainer

Kontakt

Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!

Tim Neumann

Geschäftsleitung

GEDOPLAN GmbH
Stieghorster Straße 60
33605 Bielefeld

GEDOPLAN GmbH
Kantstraße 164
10623 Berlin

    Kontakt

    Tim Neumann

    Geschäftsleitung

    GEDOPLAN GmbH
    Stieghorster Straße 60
    33605 Bielefeld

    GEDOPLAN GmbH
    Kantstraße 164
    10623 Berlin

    Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!