GitHub Actions for CI/CD
2h 2mIntermediate2023-08-11
Authors

Michael Jenkins
Senior Systems Engineer
Course details
GitHub is the leading provider for software version control and, as a result, the built-in automation provided by GitHub Actions is becoming the standard for CI/CD for projects hosted on GitHub. In this course, instructor Michael Jenkins provides theory, demonstrations, and exercises for the developers who are adopting GitHub Actions for their open-source and private projects. Michael provides guidance for engineers on how to automate the complexities of software delivery so that you can focus on delivering value directly to users. Additionally, this course can complement the courses Learning GitHub Actions and Advanced GitHub Actions by demonstrating industry best practices on how to create workflows for continuous integration, continuous delivery, and continuous deployment.
Skills covered
Version ControlGitHubDevOps FoundationsDevOpsSoftware Development ToolsSoftware DevelopmentDeep Dive (X:Y)
Concepts
Introduction
- GitHub Actions for CI CD
- Before we get started
Continous Integration and Delivery
- Getting started
- What is CI CD
- GitHub Actions review
Continuous Integration Workflows
- Starter workflows for CI
- Use starter workflows in GitHub Actions
- CI for JavaScript
- CI for Python
- CI for Go
- Challenge - Develop a CI workflow
- Solution - Develop a CI workflow
Continious Delivery Workflows
- Continuous delivery
- Delivering software artifacts and packages
- Continuous delivery for software packages
- Continuous delivery for container images
- Challenge - Develop a container image workflow
- Solution - Develop a container image workflow
Continuous Deployment Workflows
- Continuous deployment
- Deploying software with GitHub Actions
- Continuous deployment for GitHub Pages
- Create a service account for deployments
- Continuous deployment for container images
- Continuous Deployment for infrastructure as code
- Challenge - Develop a CI CD pipeline
- Solution - Develop a CI CD pipeline
Conclusion
- Next steps