Github Actions - The Complete Guide
Published 10/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.51 GB | Duration: 10h 22m
Published 10/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.51 GB | Duration: 10h 22m
Learn how to build automated CI / CD workflows with GitHub's DevOps service.
What you'll learn
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
Requirements
Basic Git & GitHub knowledge is strongly recommended (but the course offers a refresher module)
Basic development knowledge is recommended but not strictly required
NO prior GitHub Actions knowledge is required
Description
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.With this course, you'll learn:About all key GitHub Actions building blocks & componentsHow to build and orchestrate both simple and complex workflowsHow to connect workflows to events & configure event detailsHow to run jobs or job steps conditionallyHow to manage environment variablesHow to handle job results, outputs and inputsHow to leverage community actionsHow to build custom actionsHow to secure workflows and jobsAnd much more!This course requires no prior GitHub Actions knowledge. You also don't need to be an advanced developer or Git & GitHub user, though fundamental development and Git knowledge is recommended - though the course does come with a Git & GitHub refresher module.This course is a practice-oriented courses, exploring all key concepts whilst diving into concrete examples. You'll build different workflows for multiple projects and requirements.You will also learn how to interact with GitHub APIs and implement third-party (and custom) Actions into your workflows.
Overview
Section 1: Getting Started
Lecture 1 Welcome to the Course!
Lecture 2 What Is "GitHub Actions"?
Lecture 3 Git, GitHub & GitHub Actions
Lecture 4 About This Course
Lecture 5 Join The Discord Community!
Lecture 6 Course Code Attachments & Slides
Section 2: Git & GitHub Crash Course [Optional]
Lecture 7 Module Introduction
Lecture 8 Getting Started with Git
Lecture 9 Configuring Git
Lecture 10 Project Setup
Lecture 11 Working with (Local) Git Repositories
Lecture 12 Staging Files & Creating Commits
Lecture 13 Multiple Commits & Checking Out Snapshots
Lecture 14 Reverting Changes with "git revert"
Lecture 15 Resetting Code with "git reset"
Lecture 16 Staging Multiple Files & Ignoring with gitignore
Lecture 17 Understanding Branches
Lecture 18 Working with Branches
Lecture 19 Merging Branches
Lecture 20 GitHub Introduction
Lecture 21 Creating a GitHub Account
Lecture 22 Creating a (Remote) GitHub Repository
Lecture 23 Connecting Local & Remote Repositories
Lecture 24 Pushing Commits & Understanding Permissions
Lecture 25 GitHub & Branches
Lecture 26 Readme Files & Pulling Changes
Lecture 27 Cloning Repositories
Lecture 28 Making Changes As A Different User (Non-Owner)
Lecture 29 GitHub Issues & Collaborators
Lecture 30 Working with Pull Requests
Lecture 31 Understanding & Using Forks
Lecture 32 Module Summary
Section 3: GitHub Actions - Basic Building Blocks & Components
Lecture 33 Module Introduction
Lecture 34 Key Components: Workflows, Jobs, Steps & More
Lecture 35 GitHub Actions: Availability & Pricing
Lecture 36 Creating a First Workflow
Lecture 37 Running the First Workflow
Lecture 38 Running Multi-Line Shell Commands
Lecture 39 Onwards to a More Realistic Example
Lecture 40 A New Workflow & The "push" Event
Lecture 41 Using Actions In Workflows
Lecture 42 Checking Out Code In Workflows
Lecture 43 Configuring Actions
Lecture 44 Adding More Workflow Job Steps
Lecture 45 Failing Workflows & Analyzing Workflows
Lecture 46 Adding Multiple Jobs
Lecture 47 Jobs: In Parallel vs Sequential
Lecture 48 Using Multiple Triggers (Events)
Lecture 49 Expressions & Context Objects
Lecture 50 Module Summary
Lecture 51 Time to Practice: The Problem
Lecture 52 Time to Practice: Solution
Section 4: Workflows & Events - Deep Dive
Lecture 53 Module Introduction
Lecture 54 Which Events Can You Use?
Lecture 55 A Demo Project Setup
Lecture 56 More on the "push" Event
Lecture 57 Introducing Event Filters & Activity Types
Lecture 58 Using Activity Types
Lecture 59 Using Event Filters
Lecture 60 Special Behavior: Forks & Pull Request Events
Lecture 61 Cancelling Workflows & Skipping Workflows
Lecture 62 Module Summary
Section 5: Job Artifacts & Outputs
Lecture 63 Module Introduction
Lecture 64 Demo Project Setup
Lecture 65 Understanding Job Artifacts
Lecture 66 Artifacts - An Example
Lecture 67 Uploading Job Artifacts
Lecture 68 Downloading Artifacts (Manually & Automatically)
Lecture 69 Understanding Job Outputs
Lecture 70 Job Outputs - An Example
Lecture 71 Using Job Outputs In Other Jobs
Lecture 72 The Need For Dependency Caching
Lecture 73 Caching Dependencies in Practice
Lecture 74 Using & Invalidating Caches
Lecture 75 Module Summary
Section 6: Using Environment Variables & Secrets
Lecture 76 Module Introduction
Lecture 77 Project Setup & Understanding Environment Variables
Lecture 78 Providing Environment Variable Values
Lecture 79 Demo: Creating a Database & Using Database Environment Variable Values
Lecture 80 Using Environment Variables in Code & Workflows
Lecture 81 Default Environment Variables
Lecture 82 Understanding & Using Secrets
Lecture 83 Utilizing Repository Environments
Lecture 84 Module Summary
Section 7: Controlling Workflow & Job Execution
Lecture 85 Module Introduction
Lecture 86 Understanding Conditional Steps & Jobs
Lecture 87 Demo Project Setup
Lecture 88 Understanding a (Potential) Problem: A Failing Step
Lecture 89 Controlling Execution via "if"
Lecture 90 Working with Special Conditional Functions
Lecture 91 Conditional Jobs
Lecture 92 More "if" Examples
Lecture 93 Ignoring Errors & Failures with "continue-on-error"
Lecture 94 Understanding & Using Matrix Strategies
Lecture 95 Including & Excluding Values (Matrix Strategy)
Lecture 96 Saving Time & Code with Reusable Workflows
Lecture 97 Adding Inputs to Reusable Workflows
Lecture 98 Reusable Workflows & Secrets
Lecture 99 Reusable Workflows Outputs
Lecture 100 Module Summary
Section 8: Jobs & Docker Containers
Lecture 101 Module Introduction
Lecture 102 What Are Containers?
Lecture 103 Why Might You Want To Use Containers (With GitHub Actions)?
Lecture 104 Demo Project Setup & A Dockerfile
Lecture 105 Run Jobs In Containers
Lecture 106 Service Containers - Theory
Lecture 107 Adding Services (via Service Containers)
Lecture 108 Communication between Jobs & Service Containers
Lecture 109 Module Summary
Section 9: Building & Using Custom Actions
Lecture 110 Module Introduction
Lecture 111 Why Custom Actions?
Lecture 112 Understanding Different Types of Custom Actions
Lecture 113 Demo Project Setup
Lecture 114 Creating Composite Actions
Lecture 115 Using Custom Actions In Workflows
Lecture 116 Adding Inputs to Custom Actions
Lecture 117 Adding Outputs to Custom Actions
Lecture 118 Custom JavaScript Actions - Getting Started
Lecture 119 Configuring JavaScript Actions
Lecture 120 Adding Basic JavaScript Logic
Lecture 121 Creating a S3 Bucket (for a more advanced, custom Action)
Lecture 122 Adding Action Inputs
Lecture 123 Interacting with GitHub Actions Features
Lecture 124 Custom JavaScript Action: Real Deployment to AWS S3
Lecture 125 JavaScript Actions & Outputs
Lecture 126 Getting Started with a Custom Docker Action
Lecture 127 Creating a Custom Docker Action
Lecture 128 Storing Actions In Repositories & Sharing Actions With Others
Lecture 129 Module Summary
Section 10: Security & Permissions
Lecture 130 Module Introduction
Lecture 131 Key Security Concerns
Lecture 132 Undestanding Script Injection Attacks
Lecture 133 Increasing Actions Safety
Lecture 134 Understanding Permissions & Potential Issues
Lecture 135 GITHUB_TOKEN & Managing Permissions
Lecture 136 More Security Settings
Lecture 137 Working with Third-Party Permissions & OpenID Connect
Lecture 138 Example: AWS Permissions
Lecture 139 Example: AWS Permissions (Continued)
Lecture 140 More On GitHub Actions Security
Section 11: Wrap Up
Lecture 141 Congratulations & Wrap Up
Lecture 142 Bonus Lecture
Developers who want to explore DevOps solutions & workflow automation,Beginner or advanced DevOps practitioners who want to learn GitHub Actions,Everyone who's looking to automated code-based tasks