Implementing a CI/CD Pipeline | Working with GitLab, GitLab CI and Ansible

Expore modern software development! Learn how to automate the process of building, testing, and deploying your code.

TTDV7563

Introductory

3 Days

Course Overview

Geared for experienced IT professionals, Implementing a CI/CD Pipeline is a three-day hands-on course designed to provide valuable hands-on experience using essential tools for managing software development and deployment. Git is a widely used source control management tool that allows you to track changes to your code and collaborate with others. Continuous Integration / Continuous Delivery (CI/CD) is a key aspect of modern software development, allowing you to automate the process of building, testing, and deploying your code. Configuration Management using Ansible is a crucial aspect of infrastructure management, allowing you to automate the deployment and management of your servers and applications.

By mastering these skills, you'll be equipped with the tools you need to streamline your software development and deployment process, reducing errors and saving time. These skills are also in high demand, making them valuable for your career growth and advancement.

Course Flow

This lab intensive course explores GitLab, GitLab CI, CI/CD and Ansible, providing you with ample hands-on experience leveraging these tools and skills to automate the process of building, testing, and deploying your code. The course begins with an in-depth look at Git and how to use GitLab as a source control management tool. You'll also learn about the Git flow, how to configure Git, and how to find help on Git. By the end of this section, you'll be able to create local Git repositories, use basic Git commands such as add, commit, status, and log, and compare commits using the git diff command. You'll also learn how to use SSH keys with GitLab private repositories, and how to use a repository through git push. Additionally, you'll learn about branches, including creating, merging, and deleting them, as well as managing pull requests.

The Continuous Integration / Continuous Delivery (CI/CD) section will cover the history, purpose, and use cases of CI/CD, and how GitLab CI fits into the picture. You'll learn about the GitLab CI architecture and how to access the GitLab CI cloud. You'll also learn about organizations, groups, and subgroups, as well as how to understand gitlab-ci.yml and use CI/CD as code. You'll learn about working with variables, accessing artifacts, managing credentials and secrets, and using runners and executors. Additionally, you'll learn about distributing workloads across GitLab runners and using tags for task distribution. You'll also learn about trigger types and conditionals, as well as notifications and requiring human input and approval. Finally, you'll learn about automated code linting and testing and continuous deployment through GitLab CI.

In the Configuration Management section, you'll learn about the purpose and use cases of Ansible and its architecture and call flow. You'll learn how to install and configure Ansible, as well as how to use modules and tasks. You'll also learn about deploying with Ansible playbooks, using roles and variables, and linting and testing. By the end of this section, you'll have a strong understanding of how to use Ansible to manage your infrastructure.

Course Objectives

Working in a hands-on learning environment led by our expert facilitator, you will explore:

  • Understanding Git: Students will learn about the purpose, use cases, and flow of Git, as well as how to use GitLab as a source control management tool.
  • Using GitLab: Students will learn how to create local Git repositories, use basic Git commands, and use GitLab private repositories with SSH keys.
  • Implementing CI/CD: Students will learn about the history, purpose, and use cases of CI/CD and how to implement it using GitLab CI.
  • Automating Tasks: Students will learn how to automate tasks such as linting and testing using GitLab CI.
  • Configuring Ansible: Students will learn how to install, configure, and use Ansible for configuration management.
  • Deploying with Ansible: Students will learn how to use Ansible playbooks, roles, and variables to deploy infrastructure.

Course Prerequisites

The ideal audience for this class would be software engineers, DevOps engineers, system administrators, and IT professionals who are responsible for managing software development and deployment.

 

The pre-requisites required for the attendees to be successful in this class are:

  • Basic understanding of software development concepts
  • Familiarity with the command line interface
  • Understanding of version control systems (such as Git)
  • Familiarity with cloud computing

Having these skills and knowledge will ensure that attendees are able to grasp the concepts covered in the course and be able to effectively apply the tools and techniques covered in the course to their work. Additionally, having prior experience with Git and cloud computing will help attendees understand how the concepts covered in this course relate to their current work and how they can apply them in their day-to-day tasks.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience interests, skill-level and participation.

  1. Git: Source Control Management: GitLab
  • Purpose and overview of Git
  • Use cases for Git
  • Git flow
  • Quick look at GitLab
  • Other Git providers
  • Git configuration
  • Finding help on Git
  • Creating Local Git Repositories
  • Basic Commands: add, commit, status, log
  • Comparing commits: git diff
  • Using SSH keys with GitLab private repositories
  • Using a Repository: git push
  • Branches: creating, merging and deleting
  • Managing Pull Requests
  1. Continuous Integration / Continuous Delivery (CI/CD): GitLab CI
  • CI/CD = Continuous Integration / Continuous Deployment
  • Use case, purpose & history
  • GitLab CI architecture
  • Accessing GitLab CI Cloud
  • Organizations: Groups and Subgroups
  • Understanding gitlab-ci.yml
  • CI/CD as Code: Pipeline projects
  • Working with variables
  • Accessing artifacts
  • Managing credentials and secrets
  • Runners and Executors
  • Shared runners, Group runners, Specific runners
  • Distributing workloads across GitLab Runners
  • Using tags for task distribution
  • Trigger types
  • Conditionals
  • on_success, on_failure, always, manual, delayed
  • Notifications: Instant messaging integration
  • Requiring human input and approval
  • Automated code linting and testing
  • Continuous deployment through GitLab CI
  1. Configuration Management: Ansible
  • Purpose and Use cases
  • Architecture and call flow
  • Installing and configuring Ansible
  • Modules & tasks
  • Deploying with Ansible playbooks
  • Roles and variables
  • Linting and Testing

Course Materials

Setup Made Simple with our robust Learning Experience Platform (LXP)

All course software (limited versions, for course use only), knowledge checks, digital courseware files or course notes, labs / data sets and solutions, live coaching support channels (as applicable) and rich extended learning / post training resources are provided for you in our “easy access / no install required” high-speed Learning Experience Platform (LXP) remote lab and content environment. Our tech team works with every student to ensure everyone is set up with working access and ready to go prior to every course start date, ensuring a smooth delivery and great hands-on experience.

Every-Course Extras = High-Value & Long-Term Learning Support!

All Public Schedule courses include our unique EveryCourse Extras package (Course Recordings, Live Instructor Follow-on Support, Free *Live* Course Refresh Re-Takes, early access to Special Offers, Free Courses & more). Please inquire for details.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Mix, Match & Master!
2FOR1: Two Courses, One Price!

Enroll in *any* two public courses (for 2023 *OR* 2024 dates!) by December 31, for one price!  Learn something new, or share the promo!

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More