GitHub Actions – The Complete Guide

GitHub Actions – The Complete Guide

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 142 lectures (10h 23m) | 3.50 GB

Learn how to build automated CI / CD workflows with GitHub’s DevOps service.

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 & components
  • How to build and orchestrate both simple and complex workflows
  • How to connect workflows to events & configure event details
  • How to run jobs or job steps conditionally
  • How to manage environment variables
  • How to handle job results, outputs and inputs
  • How to leverage community actions
  • How to build custom actions
  • How to secure workflows and jobs
  • And 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.

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
Table of Contents

Getting Started
1 Welcome to the Course!
2 What Is GitHub Actions
3 Git, GitHub & GitHub Actions
4 About This Course
5 Join The Discord Community!
6 Course Code Attachments & Slides

Git & GitHub Crash Course [Optional]
7 Module Introduction
8 Getting Started with Git
9 Configuring Git
10 Project Setup
11 Working with (Local) Git Repositories
12 Staging Files & Creating Commits
13 Multiple Commits & Checking Out Snapshots
14 Reverting Changes with git revert
15 Resetting Code with git reset
16 Staging Multiple Files & Ignoring with gitignore
17 Understanding Branches
18 Working with Branches
19 Merging Branches
20 GitHub Introduction
21 Creating a GitHub Account
22 Creating a (Remote) GitHub Repository
23 Connecting Local & Remote Repositories
24 Pushing Commits & Understanding Permissions
25 GitHub & Branches
26 Readme Files & Pulling Changes
27 Cloning Repositories
28 Making Changes As A Different User (Non-Owner)
29 GitHub Issues & Collaborators
30 Working with Pull Requests
31 Understanding & Using Forks
32 Module Summary

GitHub Actions – Basic Building Blocks & Components
33 Module Introduction
34 Key Components Workflows, Jobs, Steps & More
35 GitHub Actions Availability & Pricing
36 Creating a First Workflow
37 Running the First Workflow
38 Running Multi-Line Shell Commands
39 Onwards to a More Realistic Example
40 A New Workflow & The push Event
41 Using Actions In Workflows
42 Checking Out Code In Workflows
43 Configuring Actions
44 Adding More Workflow Job Steps
45 Failing Workflows & Analyzing Workflows
46 Adding Multiple Jobs
47 Jobs In Parallel vs Sequential
48 Using Multiple Triggers (Events)
49 Expressions & Context Objects
50 Module Summary
51 Time to Practice The Problem
52 Time to Practice Solution

Workflows & Events – Deep Dive
53 Module Introduction
54 Which Events Can You Use
55 A Demo Project Setup
56 More on the push Event
57 Introducing Event Filters & Activity Types
58 Using Activity Types
59 Using Event Filters
60 Special Behavior Forks & Pull Request Events
61 Cancelling Workflows & Skipping Workflows
62 Module Summary

Job Artifacts & Outputs
63 Module Introduction
64 Demo Project Setup
65 Understanding Job Artifacts
66 Artifacts – An Example
67 Uploading Job Artifacts
68 Downloading Artifacts (Manually & Automatically)
69 Understanding Job Outputs
70 Job Outputs – An Example
71 Using Job Outputs In Other Jobs
72 The Need For Dependency Caching
73 Caching Dependencies in Practice
74 Using & Invalidating Caches
75 Module Summary

Using Environment Variables & Secrets
76 Module Introduction
77 Project Setup & Understanding Environment Variables
78 Providing Environment Variable Values
79 Demo Creating a Database & Using Database Environment Variable Values
80 Using Environment Variables in Code & Workflows
81 Default Environment Variables
82 Understanding & Using Secrets
83 Utilizing Repository Environments
84 Module Summary

Controlling Workflow & Job Execution
85 Module Introduction
86 Understanding Conditional Steps & Jobs
87 Demo Project Setup
88 Understanding a (Potential) Problem A Failing Step
89 Controlling Execution via if
90 Working with Special Conditional Functions
91 Conditional Jobs
92 More if Examples
93 Ignoring Errors & Failures with continue-on-error
94 Understanding & Using Matrix Strategies
95 Including & Excluding Values (Matrix Strategy)
96 Saving Time & Code with Reusable Workflows
97 Adding Inputs to Reusable Workflows
98 Reusable Workflows & Secrets
99 Reusable Workflows Outputs
100 Module Summary

Jobs & Docker Containers
101 Module Introduction
102 What Are Containers
103 Why Might You Want To Use Containers (With GitHub Actions)
104 Demo Project Setup & A Dockerfile
105 Run Jobs In Containers
106 Service Containers – Theory
107 Adding Services (via Service Containers)
108 Communication between Jobs & Service Containers
109 Module Summary

Building & Using Custom Actions
110 Module Introduction
111 Why Custom Actions
112 Understanding Different Types of Custom Actions
113 Demo Project Setup
114 Creating Composite Actions
115 Using Custom Actions In Workflows
116 Adding Inputs to Custom Actions
117 Adding Outputs to Custom Actions
118 Custom JavaScript Actions – Getting Started
119 Configuring JavaScript Actions
120 Adding Basic JavaScript Logic
121 Creating a S3 Bucket (for a more advanced, custom Action)
122 Adding Action Inputs
123 Interacting with GitHub Actions Features
124 Custom JavaScript Action Real Deployment to AWS S3
125 JavaScript Actions & Outputs
126 Getting Started with a Custom Docker Action
127 Creating a Custom Docker Action
128 Storing Actions In Repositories & Sharing Actions With Others
129 Module Summary

Security & Permissions
130 Module Introduction
131 Key Security Concerns
132 Undestanding Script Injection Attacks
133 Increasing Actions Safety
134 Understanding Permissions & Potential Issues
135 GITHUB_TOKEN & Managing Permissions
136 More Security Settings
137 Working with Third-Party Permissions & OpenID Connect
138 Example AWS Permissions
139 Example AWS Permissions (Continued)
140 More On GitHub Actions Security

Wrap Up
141 Congratulations & Wrap Up
142 Bonus Lecture

Homepage