WA3212

CI CD with GitLab Training

In this CI/CD with GitLab training, attendees learn how to implement CI/CD pipelines in GitLab for efficient software delivery.

 

Course Details

Duration

2 days

Prerequisites

Some knowledge of Java is beneficial.

Target Audience

  • Software Developers
  • Team Leads
  • Enterprise Architects
  • Solution Architects
  • Information Technology Architects

Skills Gained

  • Version Control using Git
  • Branching, Merging and Working with Remotes
  • Working with GitFlow Workflow
  • Working with GitLab.com
Course Outline
  • DevOps Fundamentals
    • Why DevOps
    • What is DevOps?
    • Collaborative, Matrixed and Cross-Functional Teams
    • Key Components of Successful DevOps Teams
    • DevOps-ification
    • DevOps Vocabulary
    • DevOps Goals
    • Not DevOps - Crush Buzzwords
    • Driving Business Outcomes with DevOps
    • Technology-Enabled Business
    • DevOps Key Enabler for Digital Transformation
    • Core Values and Mission
    • Core Values - Culture
    • Core Values - Automation
    • Core Values - Measurement
    • Core Values - Sharing
    • Communication
    • Collaboration
    • Value Stream Mapping
    • Behavioral Patterns for Success
    • DevOps Org Structures
    • DevOps Team - Separate
    • DevOps Merged Organization
    • DevOps Overlapped Organization
    • Organizational Structure Leadership
    • What Does Continuous Delivery Mean?
    • Deployment Pipelines
    • Your Organization is Doing CD if …
    • Pipelining for CD
    • Continuous Integration
    • CI Pipeline
    • CD & CI Methodologies
    • Key Tool Categories for CI/CD
  • Introduction to Git
    • What is Git
    • Git's Design Goals
    • Branching and Merging
    • Centralized Version Control
    • Distributed Version Control
    • Git Basics
    • Getting Git
    • Git on the Server
    • Git Repository Managers
    • Git on Someones Server
  • Basic Git Operations
    • Using Git
    • Definitions
    • Commit
    • How to Think About Commits
    • Viewing History
    • Configuring Git
    • Configuration Scope
    • User Identification
    • GPG Signing
    • Gnu Privacy Guard
    • GPG Basics
    • GPG and Git
    • .gitignore
    • Other Useful Configurations
    • Gitattributes
    • Where Gitattributes are Set
    • How Gitattributes are Set
    • Git Hooks
    • commit-msg Hook with Jira Key
  • Branching, Merging and Remotes
    • Branching
    • Branches in Git
    • Merge
    • Fast Forward Merge
    • --no-ff
    • More Than One Repository
    • Working with Remotes
    • Fetch and Pull
    • Push
    • Pull Requests
    • Tagging a Commit
    • Lightweight Tags
    • Annotated Tags
    • Sharing Tags
    • Checking Out a Tag
  • Introduction to Git Flow
    • Why Use an SCM Workflow?
    • What is Git Flow
    • The Main Branch
    • Benefits
    • How Git Flow works?
    • Git Flow Extension
    • Initializing Git Flow
    • Features
    • Release
    • Hotfixes
    • Git Flow and Continuous Integration
    • Git Flow – Summary
    • Git Flow – Pros and Cons
    • Git Flow – When it Works Best?
    • Git Flow – When it Doesn’t Work?
    • Git Flow Alternatives
    • Trunk-based Development
    • Trunk-based Development – When it Works?
    • Trunk-based Development – When it Doesn’t Work?
    • GitHub Flow
    • GitHub Flow – Pros and Cons
  • Introduction to GitLab
    • What is GitLab
    • History
    • Benefits
    • Features
    • Advantages
    • Disadvantages
    • Setting up an Account
    • Create New Project
    • Choice for Projects
    • GitLab Commands
  • Introduction to CI/CD and GitLab
    • Foundation of Agile AppDev
    • Extreme Programming
    • Agile Development
    • What is Continuous Integration (CI)
    • Typical Setup for Continuous Integration
    • Setup Notes for Continuous Integration
    • CI with Artifact Management
    • What is Continuous Delivery (CD)?
    • Why Continuous Delivery?
    • DevOps and Continuous Delivery
    • Continuous Delivery Challenges
    • Continuous Delivery vs Continuous Deployment
    • GitLab CI/CD
    • Running GitLab
    • Creating a GitLab Project
    • GitLab via YAML Templates
  • Introduction to GitLab Flow
    • GitLab Flow
    • GitLab Flow – Environment Branches
    • GitLab Flow – Release Branches
    • GitLab Flow – Pros and Cons
  • Best Practices for GitLab
    • Secure GitLab
    • Users
    • Build Directory
    • Shutdown
    • CI/CD
    • Optimize Pipeline Stages
  • Lab Exercises
    • Lab 1. Version Control
    • Lab 2. using
    • Lab 3. Git
    • Lab 4. Branching, Merging, and Working with Remotes
    • Lab 5. GitFlow Workflow
    • Lab 6. Working with GitLab.com
    • Lab 7. Working with GitLab.com