Continuous Integration and Continuous Delivery (CI/CD)

Go to class
Write Review

Free Online Course: Continuous Integration and Continuous Delivery (CI/CD) provided by Coursera is a comprehensive online course, which lasts for 4 weeks long, 10 hours worth of material. The course is taught in English and is free of charge. Upon completion of the course, you can receive an e-certificate from Coursera. Continuous Integration and Continuous Delivery (CI/CD) is taught by John Rofrano and Upkar Lidder.

Overview
  • A principle of DevOps is to replace manual processes with automation to improve efficiency, reduce human error, and accelerate software delivery. This requires automation that continuously integrates code changes and continuously delivers those changes to a production environment.

    This course introduces you to Continuous Integration and Continuous Delivery (CI/CD), an automated approach to software development. You’ll discover the benefits of CI/CD for creating a DevOps pipeline and explore popular CI/CD tools.

    You’ll examine the key features of CI, explore social coding, and the Git Feature Branch Workflow. You will also learn about standard CI tools and gain a deep understanding of GitHub Actions workflows and their components.

    This course provides an overview of CD and its goals, benefits, and best practices. You will learn the requirements of a CI/CD pipeline and discover standard CD tools.

    You will explore Tekton and discover how its components work together to create a CD pipeline. You will learn how to build a pipeline, pass parameters to a pipeline, build triggers to start pipeline runs, implement reusable tasks, and create custom tasks. You will discover how to complete your CD pipeline by building a container image and deploying your application to an OpenShift Kubernetes cluster.

    Throughout the course, you can hone your skills and challenge yourself through several hands-on labs.

Syllabus
    • Introduction to CI/CD
      • This module introduces you to Continuous Integration and Continuous Delivery (CI/CD), an automated approach to software development. You’ll discover what CI and CD are and the benefits they bring to the DevOps pipeline. You’ll explore popular CI/CD tools and see why it’s acceptable for different teams within an organization to use different CI/CD tools. You’ll also learn about Infrastructure as Code (IaC), the process by which you use code to automate the provision and management of your infrastructure.
    • Continuous Integration (CI)
      • This module provides an overview of Continuous Integration (CI). You will learn the features of CI and its benefits for DevOps. You will explore social coding, a core concept underlying CI, and the four steps for conducting it. You will learn about Git, the version control system (VCS) that enables DevOps. You will examine the five steps of the Git Feature Branch Workflow and the Git commands essential for performing them.

        You will then learn about standard CI tools, starting with Jenkins, CircleCI, and Travis CI. You will explore another CI tool, GitHub Actions, in greater depth. You will discover the features and benefits it provides for CI. You will learn about GitHub Actions workflows and their essential components: events, runners, jobs, steps, and actions. You’ll even practice using GitHub Actions to set up and trigger a CI workflow and automate code coverage reporting.
    • Continuous Delivery (CD)
      • This module provides an overview of Continuous Delivery (CD). You will explore CD’s goals, benefits, key principles, and best practices. You will discover the requirements of a CI/CD pipeline and the difference between Continuous Delivery and Continuous Deployment, a closely related process. You will learn about standard CD tools, including Argo CD and Tekton, and how to choose the best tool for the job.

        You will then explore Tekton in greater depth. You will discover its essential components and how they work together to create a CD pipeline. You will learn how to build a pipeline from Tekton tasks, pass parameters to a pipeline, and build triggers that start pipeline runs. You will explore how to implement reusable Tekton tasks from the Tekton Catalog and create your own tasks to automate linting and unit testing. You will discover how to complete your CD pipeline by building a container image and deploying your application to an environment.
    • Final Exam
      • In this module, you will complete a final exam that tests your knowledge of the course’s content. The exam will include questions on topics including but not limited to CI/CD’s principles, features, benefits, tools, and methods of implementation.