Back to Catalog

CI/CD: Continuous Integration & Continuous Delivery

Premium
Intermediatecourse

This course provides a comprehensive introduction to Continuous Integration & Continuous Delivery (CI/CD), essential DevOps practices for ensuring code quality. Engage in hands-on labs with real-world tools to master your CI/CD skills.

Language

  • English

Topic

  • Cloud Development

Skills You Will Learn

  • Infrastructure As Code (IaC), Continuous Integration (CI), Continuous Delivery (CD), Tekton, Pipelines, Cloud Native

Offered By

  • IBMSkillsNetwork

Estimated Effort

  • 14

Platform

  • SkillsNetwork

Last Update

  • October 25, 2024
About this course
Continuous Integration and Continuous Delivery (CI/CD) are essential skills for modern Software and DevOps Engineers. This course offers a practical introduction to CI/CD, focusing on automated software development to enhance efficiency and speed. 
  
Organizations are increasingly adopting CI/CD practices to deliver software quickly and reliably. CI/CD leverages automation to integrate code changes continuously and deploy them seamlessly into production, ensuring high code quality. 
  
In this course, you’ll explore the core aspects of Continuous Integration (CI), including social coding with Git Feature Branch Workflows and GitHub Actions. You’ll gain in-depth knowledge of CI tools and their functionalities. Additionally, you'll review Continuous Delivery (CD) goals, benefits, and best practices, and learn about the requirements and standard tools for building effective CD pipelines. 
  
You’ll explore Tekton, learning how to assemble CD pipelines, pass parameters, set up pipeline triggers, and create reusable and custom tasks.  
 
Throughout the course, you'll apply your CI/CD skills with hands-on labs using real-world tools employed by DevOps professionals. Your final project involves developing an application and deploying it into an OpenShift Kubernetes cluster using CI/CD practices.

Learning Outcomes

  • Describe Infrastructure as Code (IaC) and Continuous Integration/Continuous Deployment (CI/CD), highlighting their benefits for streamlining development and deployment. 
  • Practice CI by implementing GitHub Feature Branch Workflows and GitHub Actions to automate code integration. 
  • Create CD pipelines with Tekton and deploy applications to the cloud using Kubernetes and OpenShift for efficient deployments. 
  • Gain hands-on experience with various CI/CD tools and Cloud Native technologies essential for DevOps professionals. 

Course Syllabus

Module 1: Introduction to CI/CD 
  • Module Introduction and Learning Objectives 
  • Introduction to CI/CD 
  • What is CI/CD?  
  • Platform and Tools 
  • What is Infrastructure as Code? 
  • Module 1 Glossary: Introduction to CI/CD 
  • Summary: Introduction to CI/CD 
  • Practice Quiz: Introduction to CI/CD 
  • Module 1 Graded Quiz: Introduction to CI/CD 
Module 2: Continuous Integration (CI) 
  • Module Introduction and Learning Objectives 
  • Module 2 - Continuous Integration  
  • What is Continuous Integration 
  • Benefits of Continuous Integration 
  • Social Coding 
  • Git Feature Branch Workflow: Working in Branches 
  • Git Feature Branch Workflow: Making a Pull Request 
  • Tools of Continuous Integration (CI) 
  • Summary: Understanding Continuous Integration 
  • Practice Quiz: Understanding Continuous Integration 
  • GitHub – Getting Started 
  • Introduction to GitHub Actions 
  • Lab: Using GitHub Actions - Part 1 
  • Deeper Dive into GitHub Actions: Part 1 
  • Lab: Using GitHub Actions - Part 2 
  • Deeper Dive into GitHub Actions: Part 2 
  • Module 2 Glossary: Continuous Integration 
  • Summary: Implementing Continuous Integration 
  • Practice Quiz: Implementing Continuous Integration 
  • Graded Quiz: Continuous Integration 
Module 3: Continuous Delivery (CD) 
  • Module Introduction and Learning Objectives 
  • Video: Module 3 - Continuous Delivery (2:00) 
  • What is Continuous Delivery (CD)? 
  • Continuous Delivery Key Principles 
  • Continuous Delivery Practices 
  • Tools of Continuous Delivery (CD) 
  • Reading: Summary & Highlights: Understanding Continuous Delivery 
  • Quiz: Practice Quiz - Understanding Continuous Delivery 
  • Introduction to Tekton and Pipelines 
  • Building a Tekton Pipeline 
  • Hands-on Lab: Build a Tekton Pipeline 
  • Creating Tekton Triggers 
  • Hands-on Lab: Adding GitHub Triggers 
  • Leveraging the Tekton Catalog 
  • Hands-on Lab: Use Tekton Continuous Delivery (CD) Catalog 
  • Creating Tasks for Quality Checks and Testing 
  • Integrating Unit Test Automation 
  • Building an Image 
  • Hands-on Lab: Building an Image 
  • Deploying to Kubernetes 
  • Hands-on Lab: Deploy to Kubernetes/OpenShift 
  • Module 3 Glossary: Continuous Delivery 
  • Reading: Summary & Highlights:  Implementing Pipelines with Tekton 
  • Practice Quiz - Implementing Continuous Delivery 
  • Quiz: Graded Quiz 
Module 4: DevOps and GitOps with OpenShift 
  • Module Introduction and Learning Objectives 
  • DevOps and GitOps with OpenShift Introduction 
  • Components of DevOps Pipeline  
  • CI/CD with OpenShift Pipelines 
  • Lab: CI/CD with OpenShift Pipelines 
  • Introduction to GitOps 
  • GitOps with ArgoCD  
  • Introduction to DevSecOps 
  • Using CodeQL on GitHub 
  • Module 4 Glossary: DevOps and GitOps with OpenShift 
  • Summary & Highlights:  DevOps and GitOps with OpenShift 
  • Practice Quiz: DevOps and GitOps with OpenShift 
  • Graded Quiz: DevOps and GitOps with OpenShift 
Module 5: Final Project: Creating an Application, Deployment and Updates 
  • Module Introduction and Learning Objectives 
  • Video: Final Project  
  • Hands-on Lab: Final Project: Continuous Integration and Continuous Delivery (CI/CD) 
  • Peer-graded Final Assignment 
  • Quiz: Final Exam 

General Information

  • This course is self-paced. 
  • This platform works best with current versions of Chrome, Edge, Firefox, Internet Explorer, or Safari.

Recommended Skills Prior to Taking this Course

  • Software Engineering principles  
  • DevOps and Agile Development practices 
  • Working knowledge of Python 

Instructors

John Rofrano

Senior Technical Staff Member | DevOps Champion

John J. Rofrano is a Senior Technical Staff Member and DevOps Champion at IBM T.J. Watson Research Center where he leads a variety of research projects exploring the use of AI for accelerating Application Modernization to the Cloud. He is also an Adjunct Faculty Member at New York University Courant Institute, and Stern School of Business @ NYU, where he teaches a graduate course on DevOps and Agile Methodologies. John is an accomplished musician and videographer, and has authored numerous patents, industry papers, training videos, and books.

Read more