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
USD $1,600.00
01/29/2024 - 01/30/2024
10:00 AM - 06:00 PM
Eastern Standard Time
USD $1,600.00
03/11/2024 - 03/12/2024
10:00 AM - 06:00 PM
Eastern Standard Time
USD $1,600.00