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