/GitHub_Actions_Course

This is forked repository for GitHub Action Course

Primary LanguageDockerfileMIT LicenseMIT

GitHub Actions Fundamentals

Repo for the GitHub Actions Fundamentals training.

👉 Objectives

  • Understand the basic components and vocabulary of GitHub Actions
  • Understand the YAML syntax (scalar types, quotes, literal blocks, maps, and sequences)
  • Understand the workflow syntax and how to write workflows using intellisense
  • Understand events that can trigger workflows
  • Learn the context and expression syntax as well as workflow commands
  • Know the different types of actions and how to create/publish them
  • Understand the different hosting options for runners
  • Use Secrets and Environments for staged deployments
  • Workflow templates and reusable workflows

Getting ready

Please follow these instructions and make sure you have set up everything correctly following the prerequisites.

📆 Agenda

Day 1: 🚀 Getting started

  • Introduction and Icebreaker
  • GitHub Actions Fundamentals
  • The YAML syntax
  • Basic workflow syntax
  • Events that trigger workflow
  • Jobs and steps
  • 🔍 Demo: Creating a workflow
  • 🔨 Hands-on: My first Action workflow
  • Advanced workflow syntax
  • ☕ Break
  • GitHub Actions
  • Types of Actions
  • 🔨 Hands-on: My first container Action
  • Typescript and composite actions
  • Sharing and releasing actions
  • Using the GitHub API and Octokit
  • Job descriptions

Day 2

  • Introduction
  • Actions for CI/CD
  • Permissions for GitHub Token
  • Environments and Secrets
  • Staged deployments with environments, approvals, and deployment gates
  • 🔨 Hands-on: Staged deployments
  • ☕ Break
  • Action policies
  • Running your workflows
  • Sharing workflows
  • 🔨 Hands-on: Reusable workflows
  • Best practices and security

⚡ Prerequisites

The workshop is designed for developers that have used other platforms like Azure DevOps, GitLab, or Bitbucket and now want to switch to GitHub. But it is also suitable for people that are new to topics like git, CI/CD, and DevOps.

For this workshop you need the following:

  • A laptop (Windows, Mac, or Linux)
  • A free account for https://github.com
  • It is recommended to have a second screen for the hand-on labs

Cheat Sheet

Find common terminology for reference here