Learn GitHub Actions and automate development workflows with confidence. By the end, you’ll be able to build and optimize CI/CD pipelines, create custom GitHub Actions, manage workflow execution, and apply security best practices. The course begins with setting up your development environment and understanding workflows, jobs, steps, and YAML.
Next, you'll explore automation techniques like workflow triggers, runners, and third-party actions. Hands-on exercises cover managing inputs, outputs, caching, and artifact sharing. You’ll also work with reusable workflows, concurrency handling, and execution control to create scalable automation solutions.
Advanced topics include matrices for parallel execution, expressions and variables for dynamic workflows, and secure environment management. You’ll also build JavaScript and Docker-based custom actions to extend automation capabilities.
This course is ideal for developers and DevOps engineers looking to streamline workflows. Basic Git, JavaScript, and YAML knowledge are recommended.
Overview
Syllabus
- Getting Started with GitHub Actions
- In this module, we will introduce the course structure and objectives, ensuring you have a clear roadmap for mastering GitHub Actions. You’ll also learn how to navigate course materials and leverage resources effectively to optimize your learning experience.
- Setting Up Tools and Environment
- In this module, we will guide you through setting up the essential tools and environment needed for GitHub Actions. You’ll install NodeJS, configure GitHub Codespaces, create a repository, and gain a foundational understanding of YAML, which is critical for defining workflows.
- Fundamentals of GitHub Actions
- In this module, we will break down the fundamental building blocks of GitHub Actions. You’ll explore workflows, jobs, and steps in detail, and apply your knowledge by creating and reviewing a simple workflow.
- Understanding Workflow Triggers
- In this module, we will explore how workflows are triggered by different events in GitHub Actions. You’ll learn about event types, create workflows that respond to them, and review practical implementations to solidify your understanding.
- Using Workflow Runners
- In this module, we will examine the role of workflow runners, helping you understand when to use GitHub-hosted or self-hosted runners. Through exercises, you’ll configure workflows on different runners and analyze performance considerations.
- Leveraging Third-Party Actions
- In this module, we will explore the GitHub Actions Marketplace and how to utilize pre-built actions. You’ll integrate these actions into your workflows and review practical implementations to enhance automation efficiency.
- Using Event Filters and Activity Types
- In this module, we will dive into event filters and activity types, helping you fine-tune when and how workflows are triggered. You’ll gain hands-on experience in applying these concepts to create more precise automation strategies.
- Working with Contexts
- In this module, we will break down the concept of contexts in GitHub Actions and explore their significance. You’ll learn how to use context variables to make workflows more dynamic and data-driven.
- Expressions and Variables in GitHub Actions
- In this module, we will explore expressions and variables, key components that enable flexibility in workflows. You’ll practice implementing expressions, managing environment variables, and utilizing them effectively in workflow automation.
- Working with Functions in Workflows
- In this module, we will introduce functions in GitHub Actions and their application in workflows. You’ll learn how to use them effectively to create more dynamic and efficient automation processes.
- Managing Workflow Execution Flow
- In this module, we will focus on managing workflow execution flow, including job dependencies and conditional execution. You’ll explore best practices to ensure smooth workflow progression and efficiency.
- Handling Inputs and Outputs
- In this module, we will explore how to handle inputs and outputs in GitHub Actions. You’ll learn to pass data effectively between jobs and workflows, enabling better automation control and flexibility.
- Sharing Data with Caching and Artifacts
- In this module, we will dive into caching and artifact management, key techniques to enhance workflow efficiency. You’ll learn to reduce execution times using caching and store critical data using artifacts.
- Using Matrices in Workflows
- In this module, we will explore matrices in GitHub Actions and their role in optimizing workflow execution. You’ll learn how to use matrices for parallelization and configuration control.
- Working with Environments
- In this module, we will focus on environments and their role in secure and controlled workflow execution. You’ll learn how to set up environments and integrate them into your automation processes.
- Building Custom Actions from Scratch
- In this module, we will guide you through the process of creating custom GitHub Actions. You’ll develop actions from scratch using JavaScript and Docker, adding advanced functionality step by step.
- Creating and Using Reusable Workflows
- In this module, we will explore reusable workflows, a powerful way to streamline automation. You’ll learn to create, share, and customize reusable workflows for greater efficiency.
- Handling Concurrency in Workflows
- In this module, we will focus on concurrency management in GitHub Actions. You’ll explore strategies to prevent workflow conflicts and ensure smooth execution.
- Ensuring Workflow Security
- In this module, we will cover security best practices in GitHub Actions. You’ll learn how to protect workflows from vulnerabilities and apply security-focused solutions in your automation pipelines.
Taught by
Packt - Course Instructors