Objectives

Version Control using Git

Branching, Merging and Working with Remotes

Working with GitFlow Workflow

Working with GitLab.com

Audience

Software Developers, Team Leads, Enterprise Architects, Solution Architects, and Information Technology Architects

Prerequisites

Some knowledge of Java is beneficial

Duration

2 days

 

Outline for CI CD with GitLab Training

Chapter 1 - 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
  • Summary

Chapter 2 - Introduction to Git

  • What is Git
  • Git's Design Goals
  • Git's Design Goals (cont'd)
  • Branching and Merging
  • Branching and Merging (cont'd)
  • Centralized Version Control
  • Distributed Version Control
  • Git Basics
  • Git Basics (Cont'd)
  • Git Basics (cont'd)
  • Getting Git
  • Git on the Server
  • Git Repository Managers
  • Git on Someones Server
  • Summary

Chapter 3 - Basic Git Operations

  • Using Git
  • Definitions
  • Definitions (cont'd)
  • Repository (cont'd)
  • Definitions (cont'd)
  • Commit
  • Commit (continued)
  • How to Think About Commits
  • Viewing History
  • Configuring Git
  • Configuration Scope
  • User Identification
  • User Identification (cont'd)
  • 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
  • Summary

Chapter 4 - Branching, Merging and Remotes

  • Branching
  • Branches in Git
  • Branches in Git (cont'd)
  • Merge
  • Merge (cont'd)
  • 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
  • Summary

Chapter 5 - Introduction to Git Flow

  • Why Use an SCM Workflow?
  • Why Use an SCM Workflow? (Cond'd)
  • What is Git Flow
  • The Main Branch
  • Benefits
  • How Git Flow works?
  • How Git Flow works? (Cont'd)
  • What is Git Flow? (Cont'd)
  • How Git Flow works? (Cont'd)
  • 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 (Cont'd)
  • Trunk-based Development – When it Works?
  • Trunk-based Development – When it Doesn’t Work?
  • GitHub Flow
  • GitHub Flow – Pros and Cons
  • Summary

Chapter 6 - Introduction to GitLab

  • What is GitLab
  • What is GitLab (cont'd)
  • History
  • Benefits
  • Features
  • Advantages
  • Disadvantages
  • Setting up an Account
  • Setting up an Account (cont'd)
  • Create New Project
  • Choice for Projects
  • GitLab Commands
  • GitLab Commands (cont'd)
  • Summary

Chapter 7 - Introduction to CI/CD and GitLab

  • Foundation of Agile AppDev
  • Extreme Programming
  • Agile Development
  • What is Continuous Integration (CI)
  • What is Continuous Integration (cont'd)
  • 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
  • GitLab CI/CD (Cont)
  • Running GitLab
  • Running GitLab (cont)
  • Creating a GitLab Project
  • Creating a GitLab Project (cont)
  • GitLab via YAML Templates
  • Summary

Chapter 8 - Introduction to GitLab Flow

  • GitLab Flow
  • GitLab Flow – Environment Branches
  • GitLab Flow – Release Branches
  • GitLab Flow – Release Branches (Contd.)
  • GitLab Flow – Pros and Cons
  • Summary

Chapter 9 - Best Practices for GitLab

  • Best Practices - Secure GitLab
  • Best Practices - Users
  • Best Practices - Build Directory
  • Best Practices - Shutdown
  • Best Practices – CI/CD
  • Best Practices – Optimize Pipeline Stages
  • Best Practices - Summary

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

12/18/2023 - 12/19/2023
10:00 AM - 06:00 PM
Eastern Standard Time
Online Virtual Class
USD $1,600.00
Enroll
01/29/2024 - 01/30/2024
10:00 AM - 06:00 PM
Eastern Standard Time
Online Virtual Class
USD $1,600.00
Enroll
03/11/2024 - 03/12/2024
10:00 AM - 06:00 PM
Eastern Standard Time
Online Virtual Class
USD $1,600.00
Enroll