7878  Reviews star_rate star_rate star_rate star_rate star_half

CI/CD with GitLab

In this CI/CD with GitLab training, attendees will learn What DevOps is, Version Control with Git, Introduction to GitFlow, and Continuous Integration with GitLab. Skills Gained Version Control using...

Read More
$1,600 USD
Course Code WA3212
Duration 2 days
Available Formats Classroom

In this CI/CD with GitLab training, attendees will learn What DevOps is, Version Control with Git, Introduction to GitFlow, and Continuous Integration with GitLab.

Skills Gained

  • Version Control using Git
  • Branching, Merging and Working with Remotes
  • Working with GitFlow Workflow
  • Working with GitLab.com

Who Can Benefit

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

Prerequisites

Some knowledge of Java is beneficial

Course Details

Outline

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