Course Highlights
  • Use GitHub Actions to build automated workflows & processes
  • Automate code-based and project-based tasks
  • Run simple and complex workflows on a broad variety of triggers
  • Build powerful CI / CD workflows, including runtime configuration, security and conditional execution
  • Build custom actions or leverage public community solutions
  • How to secure GitHub Action workflows
Curriculum

6 Topics
Welcome to the Course!
What Is "GitHub Actions"?
Git GitHub & GitHub Actions
About This Course
Join The Discord Community!
Course Code Attachments & Slides

26 Topics
Module Introduction
Getting Started with Git
Configuring Git
Project Setup
Working with (Local) Git Repositories
Staging Files & Creating Commits
Multiple Commits & Checking Out Snapshots
Reverting Changes with "git revert"
Resetting Code with "git reset"
Staging Multiple Files & Ignoring with gitignore
Understanding Branches
Working with Branches
Merging Branches
GitHub Introduction
Creating a GitHub Account
Creating a (Remote) GitHub Repository
Connecting Local & Remote Repositories
Pushing Commits & Understanding Permissions
GitHub & Branches
Readme Files & Pulling Changes
Cloning Repositories
Making Changes As A Different User (Non-Owner)
GitHub Issues & Collaborators
Working with Pull Requests
Understanding & Using Forks
Module Summary

20 Topics
Module Introduction
Key Components: Workflows Jobs Steps & More
GitHub Actions: Availability & Pricing
Creating a First Workflow
Running the First Workflow
Running Multi-Line Shell Commands
Onwards to a More Realistic Example
A New Workflow & The "push" Event
Using Actions In Workflows
Checking Out Code In Workflows
Configuring Actions
Adding More Workflow Job Steps
Failing Workflows & Analyzing Workflows
Adding Multiple Jobs
Jobs: In Parallel vs Sequential
Using Multiple Triggers (Events)
Expressions & Context Objects
Module Summary
Time to Practice: The Problem
Time to Practice: Solution

10 Topics
Module Introduction
Which Events Can You Use?
A Demo Project Setup
More on the "push" Event
Introducing Event Filters & Activity Types
Using Activity Types
Using Event Filters
Special Behavior: Forks & Pull Request Events
Cancelling Workflows & Skipping Workflows
Module Summary

13 Topics
Module Introduction
Demo Project Setup
Understanding Job Artifacts
Artifacts - An Example
Uploading Job Artifacts
Downloading Artifacts (Manually & Automatically)
Understanding Job Outputs
Job Outputs - An Example
Using Job Outputs In Other Jobs
The Need For Dependency Caching
Caching Dependencies in Practice
Using & Invalidating Caches
Module Summary

9 Topics
Module Introduction
Project Setup & Understanding Environment Variables
Providing Environment Variable Values
Demo: Creating a Database & Using Database Environment Variable Values
Using Environment Variables in Code & Workflows
Default Environment Variables
Understanding & Using Secrets
Utilizing Repository Environments
Module Summary

16 Topics
Module Introduction
Understanding Conditional Steps & Jobs
Demo Project Setup
Understanding a (Potential) Problem: A Failing Step
Controlling Execution via "if"
Working with Special Conditional Functions
Conditional Jobs
More "if" Examples
Ignoring Errors & Failures with "continue-on-error"
Understanding & Using Matrix Strategies
Including & Excluding Values (Matrix Strategy)
Saving Time & Code with Reusable Workflows
Adding Inputs to Reusable Workflows
Reusable Workflows & Secrets
Reusable Workflows Outputs
Module Summary

9 Topics
Module Introduction
What Are Containers?
Why Might You Want To Use Containers (With GitHub Actions)?
Demo Project Setup & A Dockerfile
Run Jobs In Containers
Service Containers - Theory
Adding Services (via Service Containers)
Communication between Jobs & Service Containers
Module Summary

20 Topics
Module Introduction
Why Custom Actions?
Understanding Different Types of Custom Actions
Demo Project Setup
Creating Composite Actions
Using Custom Actions In Workflows
Adding Inputs to Custom Actions
Adding Outputs to Custom Actions
Custom JavaScript Actions - Getting Started
Configuring JavaScript Actions
Adding Basic JavaScript Logic
Creating a S3 Bucket (for a more advanced custom Action)
Adding Action Inputs
Interacting with GitHub Actions Features
Custom JavaScript Action: Real Deployment to AWS S3
JavaScript Actions & Outputs
Getting Started with a Custom Docker Action
Creating a Custom Docker Action
Storing Actions In Repositories & Sharing Actions With Others
Module Summary

11 Topics
Module Introduction
Key Security Concerns
Understanding Script Injection Attacks
Increasing Actions Safety
Understanding Permissions & Potential Issues
GITHUB_TOKEN & Managing Permissions
More Security Settings
Working with Third-Party Permissions & OpenID Connect
Example: AWS Permissions
Example: AWS Permissions (Continued)
More On GitHub Actions Security

2 Topics
Congratulations & Wrap Up
Bonus Lecture

  Write a Review

GitHub Actions - The Complete Guide

Go to Paid Course