|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/continuous-integration-and-continuous-delivery-ci-cd
课程评论:没有评论
课程名称:持续集成与持续交付 (CI/CD) 课程概述: 本课程将带您深入了解基础设施即代码(Infrastructure as Code, IaC)及其优势,并探索不同的IaC平台和工具。此外,您还将学习持续集成(Continuous Integration, CI)的概念、优势以及当前流行的CI工具。课程还包括持续交付(Continuous Delivery, CD)的相关知识,使您能够运行测试用例、将代码部署到云端,并了解相关工具。 课程大纲: 1. **CI/CD简介**: 本模块为您提供持续集成与持续交付的广泛介绍,帮助您理解CI/CD作为一种自动化软件开发和交付的方法,其优势在DevOps管道中的实施。您将学习到基础设施即代码的概念,了解消除手动过程的重要性,并认识到不同团队可能使用不同工具的现实。 2. **持续集成(CI)**: 本模块将深入探讨持续集成的特征和对DevOps的益处。内容包括社交编程的实践、Git版本控制系统的使用及其特性分支工作流,以及多个主流CI工具的比较,重点讲解GitHub Actions的使用,结尾的实践实验将让您应用所学知识。 3. **持续交付(CD)**: 本模块将介绍Tekton及其在CI/CD过程中的作用,学习如何创建基于特定事件的自动化触发器,并通过动手实验掌握使用Tekton Catalog及工具的技巧。您将学习自定义任务,包括代码检查和单位测试,并为部署到Kubernetes构建容器镜像。 4. **OpenShift的DevOps与GitOps**: 在此模块中,您将探讨DevOps管道及其自动化软件交付过程的组成部分,学习OpenShift Pipelines的集成、可扩展性等优点,并了解GitOps的基本原则及其在基础设施和应用配置管理中的运用。将深入学习Argo CD的关键概念及其如何在Kubernetes环境下简化应用的部署。 5. **期末考试与最终项目**: 在此模块中,您将完成一次期末考试,测试对整个课程内容的掌握情况。最终项目将提供一个示例应用和OpenShift集群,您需利用GitHub Actions、Tekton任务及OpenShift Pipelines添加CI/CD管道。 通过本课程,学员将获得实施CI/CD的知识与技能,从而在现代软件开发环境中自动化软件交付并高效管理配置。
Name:Introduction to CI/CD
Description: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.
Name:Continuous Integration (CI)
Description: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.
Name:Continuous Delivery (CD)
Description: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.
Name:DevOps and GitOps with OpenShift
Description: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.
Name:Final Exam and Final Project
Description: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.
You will begin by learning Infrastructure as Code and its benefits. You’ll also explore different IaC Platforms and Tools. You will learn about Continuous Integration, its benefits, and some popular tools that are used for Continuous Integration. You will learn about Continuous Delivery, its benefits, how to run test cases, deploy to the cloud, and some popular tools that are used for Continuous Delivery.