- Published 6/14/2024
- 1st Edition
- Online video 978-0-13-817285-5
One Line Sell: GitHub Actions makes it easy to automate software workflows with Continuous Integration and Continuous Delivery (CI/CD). Build, test, and deploy your code right from GitHub. Youll learn everything required to effectively set up CI/CD and use pipelines with GitHub Actions.
Overview:
GitHub Actions is one of the leading DevOps tools used to author Continuous Integration and Continuous Delivery (CI/CD) pipelines and automate processes and activities with the use of GitHub Actions workflows.
In this course, Paul Furlan demonstrates how to create CI/CD pipelines to build, test, and deploy and application in the cloud. He will also cover how to establish automated and reliable processes for your software. It also covers an in-depth analysis of GitHub Actions with labs throughout the course which will give you practical skills in automating software development workflows.
About the Instructor:
Paul Furlan likes to describe himself as an information technologies Swiss army knife. He is an IT Industry veteran with over 17 years of experience across several roles such as helpdesk, full stack web development, systems administration and backups. He is currently a DevOps engineer focused on the support and administration of the VCS and CI/CD pipelines.
In addition to his day job, Paul likes to spend his time reading mostly things related to science and technology (sometimes out loud to practice pronunciation), challenging himself out of the comfort zone, as well as playing with his pets and recording music.
He always tries to make the time to learn and practice new skills and promotes this to everyone in the IT industry as this field is constantly changing and rapidly evolving.
Skill Level:
Learn How To:
- Understand the importance of CI/CD pipelines, their use case and how to author your own with GitHub Actions workflows
- Integrate scripts and actions into your workflow to build your application
- Implement testing to improve the overall quality of your application
- Deploy your application to the cloud with GitHub Actions workflows
Course requirement:
- Pre-requ's: Basic shell commands and git knowledge, some experience in a programming language.
Who Should Take This Course:
- Software engineer, developer, front-end/back-end engineer, security engineer, cloud engineer, sysadmin, data scientists
Table of Contents
Table of Contents
Introduction
Lesson 1: Analyze the Software Development Lifecycle
1.1 Understand DevOps
1.2 Review the waterfall software development lifecycle
1.3 Explore Agile
1.4 Review the DevOps lifecycle
Lesson 2: Learn Git
2.1 Review git commands
2.2 Install and use GitHub Desktop with lab
2.3 Review authentication in GitHub
2.4 Review authentication in GitHub with lab
2.5 Compare git branching strategies
2.6 Examine the different merge methods in GitHub
2.7 Practice merging branches with lab
Lesson 3: Explore GitHub
3.1 Analyze GitHub's version control system features
3.2 Analyze GitHub's version control system features with lab
3.3 Understand pull requests
3.4 Understand pull requests with lab
3.5 Explore the GitHub CLI
3.6 Install and use the GitHub CLI with lab
3.7 Understand Semantic Versioning
Lesson 4: Understand workflows in GitHub Actions
4.1 Learn YAML
4.2 Break down GitHub Actions workflows
4.3 Analyze workflow triggers, jobs and steps
4.4 Create a simple workflow with lab
4.5 Compare GitHub Actions runners
4.6 Set up a selfhosted runner with lab
Lesson 5: Review Advanced GitHub Actions Workflow Features
5.1 Explore contexts
5.2 Review variables and secrets
5.3 Use variables and secrets in your workflow with lab
5.4 Understand expressions
5.5 Review functions
5.6 Add functions and expressions to your workflow with lab
Lesson 6: Control Job Execution in GitHub Actions
6.1 Explore job concurrency, outputs and dependencies
6.2 Run jobs within containers
6.3 Control job execution with lab
6.4 Explore matrix strategies
6.5 Implement matrix strategies with lab
Lesson 7: Explore, Create and Use Action
7.1 Understand actions in GitHub Actions
7.2 Discover and use Actions in GitHub Actions with lab
7.3 Learn about artifacts and cache
7.4 Share data between jobs with artifacts with lab
7.5 Optimize your workflow with cache with lab
7.6 Explore the metadata file & composite actions
7.7 Explore the metadata file & composite actions with lab
7.8 Learn custom JavaScript actions
7.9 Create a JavaScript action with lab
7.10 Examine custom Docker container actions
7.11 Create Docker container actions with lab
Lesson 8: Explore Continuous Integration
8.1 Set up unit testing and code coverage
8.2 Set up unit testing and code coverage with lab
8.3 Discover code scanning
8.4 Discover code scanning with lab
8.5 Explore GitHub Dependabot and secret scanning
8.6 Explore GitHub Dependabot and secret scanning with lab
8.7 Understand code owners
8.8 Set up code owners with lab
8.9 Configure branch protection
8.10 Configure branch protection with lab
Lesson 9: Release Your Application
9.1 Review the release stage
9.2 Create releases with the GitHub UI with lab
9.3 Create releases in the GitHub CLI with lab
9.4 Learn about packages and package registries
9.5 Create and publish a package to GitHub Packages with lab
9.6 Create a Dockerfile and build a container image
9.7 Create a Dockerfile and build a container image with lab
9.8 Learn about containers and container registries
9.9 Learn about container and container registries with lab
Lesson 10: Explore Continuous Delivery and Deployment
10.1 Understand the different deployment targets
10.2 Break down different deployment environments
10.3 Create an environment and deploy your application with lab
Summary