Github Actions - The Complete Guide

Posted By: ELK1nG

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

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