GitHub Actions - The Complete Guide
Learn how to build automated CI / CD workflows with GitHub's DevOps service.
About This Course
Welcome to "GitHub Actions - The Complete Guide"!
GitHub Actions is an extremely popular and fast-growing CI/CD automation service offered by GitHub.
This course teaches GitHub Actions from the ground up, without any prior GitHub Actions experience assumed or required.
In order to handle growing development and code complexity and deploy application updates with high frequency, powerful automation platforms and tools are required. As you will learn throughout this course, GitHub Actions is such a platform, enabling you to automate anything from code testing, building and deployment all the way up to GitHub repository and project management.
This course is a practice-oriented course, exploring all key concepts whilst diving into concrete examples. You'll build different workflows for multiple projects and requirements.
Why Learn GitHub Actions?
GitHub Actions is growing fast and is in high demand. It allows you to automate your entire software development lifecycle - from testing and building to deployment and repository management. Mastering CI/CD automation has never been more important for modern developers!
What's in This Course?
This course will take you from GitHub Actions beginner to advanced level in no time! We'll start at the very basics and dive into all the core features that make up GitHub Actions.
Building Blocks & Components
Learn all key GitHub Actions building blocks and components. Understand workflows, jobs, steps, actions, and how they work together to create powerful automation pipelines.
Workflow Orchestration
Master how to build and orchestrate both simple and complex workflows. Connect workflows to events and configure event details for precise automation triggers.
Custom Actions
Learn how to leverage community actions and build your own custom actions. Implement third-party actions into your workflows for maximum flexibility.
Security & Best Practices
Understand how to secure workflows and jobs. Learn best practices for managing secrets, permissions, and protecting your CI/CD pipelines.
In Detail, You'll Learn
This course covers everything you need to build production-ready GitHub Actions workflows with multiple real projects where all concepts are applied step-by-step.
Core Concepts
Master these essential GitHub Actions skills:
- All key GitHub Actions building blocks & components
- Building and orchestrating simple and complex workflows
- Connecting workflows to events & configuring event details
- Running jobs or job steps conditionally
- Managing environment variables
- Handling job results, outputs and inputs
Advanced Topics
Take your skills to the next level:
- Leveraging community actions
- Building custom actions
- Securing workflows and jobs
- Interacting with GitHub APIs
- Implementing third-party actions
- And much more!
Multiple Complete Projects Included!
This course includes multiple complete projects where you'll apply all core concepts! You'll build different workflows for various projects and requirements. After finishing this course, you'll be well prepared to build your own GitHub Actions workflows from the ground up!
No Prior GitHub Actions Knowledge Required
See The Course In Action
Curriculum
- Module Introduction (1:28)
- Getting Started with Git (3:12)
- Configuring Git
- Project Setup (1:55)
- Working with (Local) Git Repositories (4:19)
- Staging Files & Creating Commits (6:52)
- Multiple Commits & Checking Out Snapshots (7:46)
- Reverting Changes with "git revert" (3:50)
- Resetting Code with "git reset" (2:14)
- Staging Multiple Files & Ignoring with gitignore (5:32)
- Understanding Branches (5:08)
- Working with Branches (3:37)
- Merging Branches (8:31)
- GitHub Introduction (2:29)
- Creating a GitHub Account (3:18)
- Creating a (Remote) GitHub Repository-repository (2:04)
- Connecting Local & Remote Repositories (2:48)
- Pushing Commits & Understanding Permissions (6:01)
- GitHub & Branches (6:02)
- Readme Files & Pulling Changes (5:39)
- Cloning Repositories (8:44)
- Making Changes As A Different User (Non-Owner) (1:50)
- GitHub Issues & Collaborators (9:02)
- Working with Pull Requests (8:01)
- Understanding & Using Forks (8:42)
- Module Summary (0:42)
- Module Introduction (1:24)
- Key Components: Workflows, Jobs, Steps & More (5:31)
- GitHub Actions: Availability & Pricing
- Creating a First Workflow (10:58)
- Running the First Workflow (3:44)
- Running Multi-Line Shell Commands
- Onwards to a More Realistic Example (6:55)
- A New Workflow & The "push" Event (7:32)
- Using Actions In Workflows (4:35)
- Checking Out Code In Workflows (3:10)
- Configuring Actions (2:29)
- Adding More Workflow Job Steps (4:32)
- Failing Workflows & Analyzing Workflows (3:45)
- Adding Multiple Jobs (6:03)
- Jobs: In Parallel vs Sequential (3:48)
- Using Multiple Triggers (Events) (2:41)
- Expressions & Context Objects (7:02)
- Module Summary (3:52)
- Time to Practice: The Problem (3:38)
- Time to Practice: Solution (17:50)
- Module Introduction (1:10)
- Which Events Can You Use? (1:37)
- A Demo Project Setup (2:28)
- More on the "push" Event (1:39)
- Introducing Event Filters & Activity Types (2:00)
- Using Activity Types (8:26)
- Using Event Filters (7:16)
- Special Behavior: Forks & Pull Request Events (6:29)
- Cancelling Workflows & Skipping Workflows (4:32)
- Module Summary (2:52)
- Module Introduction (0:45)
- Demo Project Setup (1:47)
- Understanding Job Artifacts (3:09)
- Artifacts - An Example (2:57)
- Uploading Job Artifacts (4:50)
- Downloading Artifacts (Manually & Automatically) (5:23)
- Understanding Job Outputs (1:42)
- Job Outputs - An Example (8:51)
- Using Job Outputs In Other Jobs (3:38)
- The Need For Dependency Caching (4:41)
- Caching Dependencies in Practice (9:03)
- Using & Invalidating Caches (2:06)
- Module Summary (2:18)
- Module Introduction (0:48)
- Project Setup & Understanding Environment Variables (4:42)
- Providing Environment Variable Values (3:44)
- Demo: Creating a Database & Using Database Environment Variable Values (3:30)
- Using Environment Variables in Code & Workflows (8:06)
- Default Environment Variables
- Understanding & Using Secrets (5:39)
- Utilizing Repository Environments (7:30)
- Module Summary (2:17)
- Module Introduction (2:06)
- Understanding Conditional Steps & Jobs (0:54)
- Demo Project Setup (1:52)
- Understanding a (Potential) Problem: A Failing Step (3:14)
- Controlling Execution via "if" (7:30)
- Working with Special Conditional Functions (3:08)
- Conditional Jobs (5:08)
- More "if" Examples (5:51)
- Ignoring Errors & Failures with "continue-on-error" (6:11)
- Understanding & Using Matrix Strategies (7:33)
- Including & Excluding Values (Matrix Strategy) (2:47)
- Saving Time & Code with Reusable Workflows (7:24)
- Adding Inputs to Reusable Workflows (7:25)
- Reusable Workflows & Secrets (1:47)
- Reusable Workflows Outputs (6:42)
- Module Summary (2:11)
- Module Introduction (0:53)
- What Are Containers? (1:46)
- Why Might You Want To Use Containers (With GitHub Actions)? (4:03)
- Demo Project Setup & A Dockerfile (7:02)
- Run Jobs In Containers (7:53)
- Service Containers - Theory (3:40)
- Adding Services (via Service Containers) (6:24)
- Communication between Jobs & Service Containers (6:15)
- Module Summary (2:02)
- Module Introduction (1:58)
- Why Custom Actions? (3:32)
- Understanding Different Types of Custom Actions (4:15)
- Demo Project Setup (1:40)
- Creating Composite Actions (8:34)
- Using Custom Actions In Workflows (4:17)
- Adding Inputs to Custom Actions (6:57)
- Adding Outputs to Custom Actions (4:04)
- Custom JavaScript Actions - Getting Started (2:14)
- Configuring JavaScript Actions (3:30)
- Adding Basic JavaScript Logic (9:46)
- Creating a S3 Bucket (for a more advanced, custom Action) (4:06)
- Adding Action Inputs (4:15)
- Interacting with GitHub Actions Features (7:49)
- Custom JavaScript Action: Real Deployment to AWS S3 (8:37)
- JavaScript Actions & Outputs (5:00)
- Getting Started with a Custom Docker Action (3:10)
- Creating a Custom Docker Action (7:21)
- Storing Actions In Repositories & Sharing Actions With Others
- Module Summary (2:12)
- Module Introduction (1:22)
- Key Security Concerns (3:31)
- Understanding Script Injection Attacks (9:54)
- Increasing Actions Safety (4:14)
- Understanding Permissions & Potential Issues (7:31)
- GITHUB_TOKEN & Managing Permissions (6:24)
- More Security Settings (3:10)
- Working with Third-Party Permissions & OpenID Connect (4:53)
- Example: AWS Permissions (1:38)
- Example: AWS Permissions (Continued) (9:27)
- More On GitHub Actions Security
Course Prerequisites
Here's what you need to get the most out of this course
- Basic IT knowledge is required.
- NO prior Git or GitHub knowledge is necessary at all.
All pre-requisites are covered by courses in our "Academind Pro" Membership.
Your Instructor
Maximilian Schwarzmüller
Founder & Instructor
Self-taught developer with 3,500,000+ students and 900,000 YouTube subscribers. I co-founded Academind with Manuel Lorenz to help people master new skills and build amazing projects.
Join 3783 happy students!
Choose the plan that works best for you
Single-Course License
Full access to "GitHub Actions - The Complete Guide"
This is a one-time payment that grants access to this course only, not to any other courses.
Academind Pro Membership
Unlimited access to this and all other current & future courses!
This is a recurring payment. You can cancel anytime from your profile. For more info, contact Academind.
Continue Your Learning Journey
Expand your skills with these hand-picked courses that complement what you'll learn here.product.