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
- [ ] :mag: Demo: Creating a workflow
- [ ] 🔨 Hands-on: My first Action workflow
- [ ] Advanced workflow syntax
- [ ] :coffee: 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
- [ ] :coffee: 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