We may earn an affiliate commission when you visit our partners.
Course image
John Rofrano and Upkar Lidder

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.

Read more

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.

Enroll now

What's inside

Syllabus

Introduction to CI/CD
Welcome to Module 1, Introduction to CI/CD. In this module, you will get a broad introduction to Continuous Integration and Continuous Delivery, commonly known as CI/CD. CI/CD is an automated software development and delivery approach that ensures repeatability and reliability. Throughout this module, you will explore the concepts of CI and CD, understanding their advantages when implemented correctly in your DevOps pipeline. You will also study various popular CI/CD tools, recognizing the importance of eliminating manual procedures and acknowledging that different teams within an organization may use other CI/CD tools. Additionally, you will gain insights into Infrastructure as Code (IaC), which involves utilizing code to automate the provisioning and management of infrastructure. IaC serves as a fundamental concept for implementing automation. There are no labs in this first module. The goal is to understand what CI/CD is before we dive deep into each topic individually. Let's get started.
Read more
Continuous Integration (CI)
Welcome to Module 2: Continuous Integration! This module provides you with a comprehensive orientation to Continuous Integration (CI). Through this module, you will gain knowledge of CI's features and the benefits it brings to the world of DevOps. We will begin by exploring social coding, a widely adopted practice within the open-source community. Many companies are now adopting this practice for inner source purposes, to capitalize on its efficiency levels and other benefits. In support of that, you’ll learn about the Git version control system, how to practice the Git Feature Branch Workflow, and the essential commands required to manage it. The workflow will ensure that you follow good DevOps practices and work in small batches so your development work never strays too far from the main codebase. This workflow offers several other key features, along with ensuring adherence to good DevOps practices and maintaining close alignment with the main codebase. We will also explore various popular Continuous Integration (CI) tools, such as Jenkins, CircleCI, and Travis CI, and study their comparison. The tool that you will dive deep into is GitHub Actions. It’s a relatively new tool that is rapidly gaining popularity and is available on every GitHub repository. We’ll go into great detail on the events, runners, jobs, steps, and actions that are the essential components of the GitHub Actions workflow. Through hands-on labs, you can apply your knowledge by forking a repository and establishing your own GitHub Actions workflow. This workflow will involve tasks such as, code examination, quality checks, unit testing, and automatic reporting of code coverage. Importantly, this lab is not a simple "hello world" exercise; it represents a real-world example from one of my personal projects. Consequently, the knowledge and skills you acquire during this lab will be directly applicable to your own projects.
Continuous Delivery (CD)
The module begins by introducing Tekton and pipelines, establishing a foundation for comprehending their roles in the CI/CD process. You will also learn the significance of triggers in Tekton, enabling pipelines to execute automatically based on specific events or conditions. Through a hands-on lab, you will create a Tekton trigger to initiate pipeline runs in response to external events. You will gain proficiency in effectively utilizing the Tekton Catalog and incorporating its resources into pipelines. The module guides you in creating custom tasks for code linting, unit testing, and other quality assurance processes. Additionally, you will learn how to build container images in preparation for deployment to Kubernetes. Through hands-on labs, you will develop practical skills to effectively implement Tekton pipelines and automate their CI/CD processes.
DevOps and GitOps with OpenShift 
Welcome to the "DevOps and GitOps with OpenShift" module. In this module, you will understand the DevOps pipeline and its essential elements that automate the software delivery process. You will explore the components of CI/CD pipelines and their utilities. Additionally, you will learn about OpenShift Pipelines, which offer benefits such as seamless integration with Kubernetes tools, scalability, and the ability to leverage OpenShift services. The module will also introduce you to GitOps, an operational framework that combines DevOps best practices with version control and automation. GitOps enables efficient deployment and management of infrastructure and application configurations by utilizing GitOps as the single source of truth. You will discover the fundamental principles, benefits, and workflow of GitOps, including visibility, audibility, and easy rollback of changes. Furthermore, the module will delve into Argo CD, a tool that plays a crucial role in the GitOps ecosystem. You will explore Argo CD's key concepts and features, including its architecture and how it enables continuous delivery and streamlines application deployment processes in Kubernetes environments. By the end of this module, you will have a comprehensive understanding of the DevOps pipeline, CI/CD components, OpenShift Pipelines, GitOps principles, benefits, and the critical features of Argo CD. This knowledge will empower you to automate software delivery, manage configurations, and streamline deployment processes in modern software development environments.
Final Exam and Final Project
In this module, you will complete a final exam and a final project 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. The final project lab environment will provide you with a sample application and an OpenShift Cluster, and you will be asked to add CI/CD pipelines using GitHub Actions, Tekton tasks, and OpenShift Pipelines.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops CI/CD skills and expertise, which are core for modern software development
Covers Continuous Integration and Continuous Delivery concepts, which are essential for efficient software delivery
Emphasizes automation to improve efficiency and reduce human error in software delivery pipelines
Taught by experienced instructors with industry expertise in DevOps and CI/CD
Provides hands-on labs for practical application of concepts and skills
Focuses on popular CI/CD tools and technologies, such as GitHub Actions and Tekton, which are widely used in industry

Save this course

Save Continuous Integration and Continuous Delivery (CI/CD) to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Continuous Integration and Continuous Delivery (CI/CD) with these activities:
Review Tekton documentation and tutorials
Updates your knowledge of Tekton, a crucial continuous delivery tool, ensuring you are familiar with its capabilities before diving into related course modules.
Show steps
  • Review the Tekton documentation
  • Complete a few Tekton tutorials
  • Experiment with Tekton in a sandbox environment
Read about the Git workflow
Refreshes your knowledge of Git workflow before starting the course to ensure you are well-prepared and can hit the ground running.
Browse courses on Git Workflow
Show steps
  • Read the Git documentation on branching and merging
  • Review a Git tutorial on GitHub
  • Practice branching and merging in a personal Git repository
Follow a tutorial on CI/CD with GitHub Actions
Enhances your understanding of Continuous Integration by following a guided tutorial on GitHub Actions, a tool commonly used in the industry.
Browse courses on Github Actions
Show steps
  • Find a reputable tutorial on GitHub Actions
  • Complete the tutorial hands-on
  • Create a GitHub Actions workflow for a personal project
  • Share your workflow with others
Five other activities
Expand to see all activities and additional details
Show all eight activities
Attend a workshop on DevOps and CI/CD best practices
Provides an immersive learning experience where you can engage with experts, learn about industry trends, and enhance your practical skills in DevOps and CI/CD.
Browse courses on DevOps
Show steps
  • Research and identify relevant workshops
  • Register for and attend the workshop
  • Actively participate in discussions and hands-on exercises
  • Network with other professionals in the field
Practice coding with GitHub Actions
Strengthens your proficiency in implementing CI/CD pipelines by practicing coding with GitHub Actions, enhancing your practical skills.
Browse courses on Github Actions
Show steps
  • Fork an existing GitHub repository with a CI/CD pipeline
  • Modify the pipeline to meet your own project's needs
  • Create pull requests to contribute to the original repository
  • Participate in discussions and answer questions related to GitHub Actions
Join a study group focused on CI/CD
Provides a collaborative learning environment to discuss and reinforce CI/CD concepts, deepening your understanding and fostering knowledge exchange.
Browse courses on CI/CD
Show steps
  • Find or create a study group with peers taking the same or a similar course
  • Establish regular meeting times and topics for discussion
  • Share resources, ask questions, and collaborate on projects
  • Present your findings and insights to the group
Contribute to an open-source CI/CD tool
Enhances your understanding of CI/CD principles and practices by actively contributing to the development of an open-source tool.
Browse courses on CI/CD
Show steps
  • Identify an open-source CI/CD tool that aligns with your interests
  • Review the project's documentation and codebase
  • Propose a bug fix or new feature and create a pull request
  • Collaborate with the project maintainers to refine and merge your contribution
Write a blog post about your experience using CI/CD
Solidifies your understanding of CI/CD by articulating your knowledge and sharing it with others, reinforcing concepts and fostering critical thinking.
Browse courses on CI/CD
Show steps
  • Choose a specific aspect of CI/CD that you want to write about
  • Research and gather information from reputable sources
  • Write a detailed and informative blog post
  • Publish and promote your blog post

Career center

Learners who complete Continuous Integration and Continuous Delivery (CI/CD) will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
A DevOps Engineer is responsible for designing, building, and managing the automation and deployment of software systems. This course provides a great foundation in CI/CD, which is essential for DevOps Engineers to understand and implement.
Software Development Manager
A Software Development Manager is responsible for the planning, coordination, and execution of software development projects. This course provides a great overview of CI/CD, which can help Software Development Managers to better understand the process and make informed decisions about how to implement it in their projects.
Systems Engineer
A Systems Engineer is responsible for the design, development, and implementation of complex technical systems. This course can help Systems Engineers to gain a better understanding of CI/CD and how it can be used to improve the efficiency and reliability of their systems.
Cloud Architect
A Cloud Architect is responsible for designing and managing the deployment of cloud-based applications and services. This course provides a great overview of CI/CD, which can help Cloud Architects to better understand how to implement it in their cloud environments.
DevSecOps Engineer
A DevSecOps Engineer is responsible for integrating security into the software development lifecycle. This course provides a great foundation in CI/CD, which can help DevSecOps Engineers to better understand how to implement it in their organizations.
Software Architect
A Software Architect is responsible for the design and architecture of software systems. This course may be useful for Software Architects who want to learn more about CI/CD and how it can be used to improve the quality and reliability of their software.
Software Tester
A Software Tester is responsible for testing software to ensure that it meets the requirements and specifications. This course may be useful for Software Testers who want to learn more about CI/CD and how it can be used to improve the efficiency and effectiveness of their testing.
Business Analyst
A Business Analyst is responsible for analyzing business requirements and translating them into technical specifications. This course may be useful for Business Analysts who want to learn more about CI/CD and how it can be used to improve the communication and collaboration between business and IT.
Project Manager
A Project Manager is responsible for the planning, execution, and completion of projects. This course may be useful for Project Managers who want to learn more about CI/CD and how it can be used to improve the efficiency and effectiveness of their projects.
Release Manager
A Release Manager is responsible for the planning and execution of software releases. This course may be useful for Release Managers who want to learn more about CI/CD and how it can be used to improve the quality and reliability of their software releases.
Technical Writer
A Technical Writer is responsible for creating documentation for software and other technical products. This course may be useful for Technical Writers who want to learn more about CI/CD and how it can be used to improve the quality and accuracy of their documentation.
Systems Analyst
A Systems Analyst is responsible for analyzing and designing systems to meet the needs of an organization. This course may be useful for Systems Analysts who want to learn more about CI/CD and how it can be used to improve the efficiency and effectiveness of their systems.
IT Specialist
An IT Specialist is responsible for providing technical support and assistance to users of computer systems and applications. This course may be useful for IT Specialists who want to learn more about CI/CD and how it can be used to improve the efficiency and effectiveness of their support.
Cloud Developer
A Cloud Developer is responsible for developing and deploying applications in the cloud. This course may be useful for Cloud Developers who want to learn more about CI/CD and how it can be used to improve the efficiency and reliability of their cloud applications.
Systems Administrator
A Systems Administrator is responsible for the maintenance and operation of computer systems and networks. This course may be useful for System Administrators who want to learn more about CI/CD and how it can be used to improve the efficiency and effectiveness of their systems administration.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Continuous Integration and Continuous Delivery (CI/CD).
Provides a data-driven analysis of what makes high-performing technology organizations successful. It valuable resource for anyone who wants to improve the performance of their technology organization.
Focuses specifically on continuous integration, providing detailed guidance on setting up and maintaining a continuous integration system. It valuable resource for readers who want to implement or improve their CI practices.
Practical guide to implementing DevOps, with a focus on the cultural and organizational changes that are necessary for success.
Provides a fictional account of a DevOps transformation. It valuable resource for anyone looking to learn more about DevOps or to implement it in their organization.
Provides a comprehensive overview of Kubernetes. It valuable resource for anyone looking to learn more about Kubernetes or to implement it in their organization.
While this book does not focus specifically on CI/CD, it provides valuable background knowledge on microservices, which are often used in CI/CD pipelines. It useful resource for readers who want to understand the architectural implications of CI/CD.
Provides insights into the practices and tools used by Google to ensure the reliability and performance of its large-scale production systems. It valuable resource for readers who want to understand the broader context of CI/CD in the context of production systems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Continuous Integration and Continuous Delivery (CI/CD).
Continuous Integration and Delivery (CI/CD)
Most relevant
DevOps, CI/CD(Continuous Integration/Delivery) for...
Most relevant
Continuous Integration & Continuous Deployment with...
Most relevant
Introduction to Continuous Integration & Continuous...
Most relevant
Google Cloud CI/CD Pipelines (GCP DevOps Engineer Track...
Most relevant
Set up a Continuous Integration (CI) workflow in CIrcleCI
Most relevant
Executing Selenium Test Automation With Azure DevOps
Most relevant
DevOps: CI/CD using AWS CodePipeline & Elastic Beanstalk
Most relevant
Implementing a Full CI/CD Pipeline
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser