We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

GitHub Actions - The Complete Guide

Academind by Maximilian Schwarzmüller and Maximilian Schwarzmüller

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 knowledge assumed or required.

Read more

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 knowledge 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.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Learn what this course is about and what you can expect from the course.
Welcome to the Course!
What Is "GitHub Actions"?
Git, GitHub & GitHub Actions
Read more
About This Course
Join The Discord Community!
Course Code Attachments & Slides
Refresh your Git & GitHub fundamentals and learn all key commands and features needed to get the most out of GitHub Actions.
Module Introduction
Getting Started with Git
Configuring Git
Project Setup
Working with (Local) Git Repositories
Staging Files & Creating Commits
Multiple Commits & Checking Out Snapshots
Reverting Changes with "git revert"
Resetting Code with "git reset"
Staging Multiple Files & Ignoring with gitignore
Understanding Branches
Working with Branches
Merging Branches
GitHub Introduction
Creating a GitHub Account
Creating a (Remote) GitHub Repository
Connecting Local & Remote Repositories
Pushing Commits & Understanding Permissions
GitHub & Branches
Readme Files & Pulling Changes
Cloning Repositories
Making Changes As A Different User (Non-Owner)
GitHub Issues & Collaborators
Working with Pull Requests
Understanding & Using Forks
Module Summary
Learn about the key components needed to use GitHub Actions: Workflows, Events, Jobs, Steps & More
Key Components: Workflows, Jobs, Steps & More
GitHub Actions: Availability & Pricing
Creating a First Workflow
Running the First Workflow
Running Multi-Line Shell Commands
Onwards to a More Realistic Example
A New Workflow & The "push" Event
Using Actions In Workflows
Checking Out Code In Workflows
Configuring Actions
Adding More Workflow Job Steps
Failing Workflows & Analyzing Workflows
Adding Multiple Jobs
Jobs: In Parallel vs Sequential
Using Multiple Triggers (Events)
Expressions & Context Objects
Time to Practice: The Problem
Time to Practice: Solution
Learn more about the events that can trigger workflows. Learn how to configure and filter events and how to ensure that workflows run exactly as needed.
Which Events Can You Use?
A Demo Project Setup
More on the "push" Event
Introducing Event Filters & Activity Types
Using Activity Types
Using Event Filters
Special Behavior: Forks & Pull Request Events
Cancelling Workflows & Skipping Workflows
Learn what job artifacts & outputs are (and how they differ) and how you may use them in your workflows.
Demo Project Setup
Understanding Job Artifacts
Artifacts - An Example
Uploading Job Artifacts
Downloading Artifacts (Manually & Automatically)
Understanding Job Outputs
Job Outputs - An Example
Using Job Outputs In Other Jobs
The Need For Dependency Caching
Caching Dependencies in Practice
Using & Invalidating Caches
Many workflows and their jobs rely on variable (and often secret) data. Learn how to leverage environment variables and secrets in GitHub Actions to cater for such situations.
Project Setup & Understanding Environment Variables
Providing Environment Variable Values
Demo: Creating a Database & Using Database Environment Variable Values
Using Environment Variables in Code & Workflows
Default Environment Variables
Understanding & Using Secrets
Utilizing Repository Environments
Learn how to control your workflow and job executions. Some steps or jobs might only need to run under certain circumstance. Learn how to add such conditions in this section.
Understanding Conditional Steps & Jobs
Understanding a (Potential) Problem: A Failing Step
Controlling Execution via "if"
Working with Special Conditional Functions
Conditional Jobs
More "if" Examples
Ignoring Errors & Failures with "continue-on-error"

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers principles and uses of GitHub Actions, which is widely-used in industry for automation
Taught by Maximilian Schwarzmüller, a highly respected expert in GitHub Actions
Develops foundational and advanced concepts and skills of GitHub Actions, for both beginners and intermediate learners
Provides hands-on practice with real-world scenarios, reinforcing learning
Covers topics that align with industry best practices and current trends in software development
Suitable for learners with basic development and Git/GitHub knowledge, making it accessible to a wide range of audiences

Save this course

Save GitHub Actions - The Complete Guide to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for GitHub Actions - The Complete Guide. These are activities you can do either before, during, or after a course.

Career center

Learners who complete GitHub Actions - The Complete Guide will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
A DevOps Engineer combines software development (Dev) and information technology operations (Ops) to improve the efficiency and quality of software delivery. This course provides a comprehensive overview of GitHub Actions, enabling you to create automated workflows that connect development and operations. By leveraging GitHub Actions, you can streamline your DevOps pipeline, reduce manual intervention, and enhance collaboration between development and operations teams.
Software Development Engineer in Test
A Software Development Engineer in Test plans and executes testing activities to identify software defects, ensuring high-quality software products. This course helps build a foundation in using GitHub Actions, a powerful workflow automation tool commonly used in software development and testing. By mastering GitHub Actions, you can streamline the testing process, automate repetitive tasks, and improve the efficiency and accuracy of your testing efforts.
Automation Engineer
An Automation Engineer designs and implements automated systems and processes. This course provides a comprehensive overview of GitHub Actions, a powerful tool for automating software development and testing processes. By mastering GitHub Actions, you can build automated workflows, streamline repetitive tasks, and improve the efficiency and quality of your automation efforts.
Site Reliability Engineer
A Site Reliability Engineer ensures the reliability, performance, and availability of software systems. This course introduces GitHub Actions, a powerful tool for automating infrastructure management and monitoring tasks. By leveraging GitHub Actions, you can streamline your site reliability processes, automate repetitive tasks, and improve the overall reliability and efficiency of your systems.
Cloud Engineer
A Cloud Engineer designs, builds, and manages cloud computing systems. This course provides a foundation in using GitHub Actions to automate cloud infrastructure management tasks. By leveraging GitHub Actions, you can streamline your cloud operations, automate deployment processes, and enhance the efficiency and scalability of your cloud infrastructure.
Release Manager
A Release Manager plans and executes software releases. This course provides a foundation in using GitHub Actions to automate software release processes. By leveraging GitHub Actions, you can streamline release planning, automate deployment, and improve the efficiency and quality of your software releases.
Data Engineer
A Data Engineer designs, builds, and maintains data pipelines and infrastructure. This course introduces GitHub Actions, an automation tool that can streamline data engineering tasks. By leveraging GitHub Actions, you can automate data extraction, transformation, and loading processes, improving the efficiency and reliability of your data pipelines.
Software Architect
A Software Architect designs and oversees the architecture of software systems. This course provides a foundation in using GitHub Actions to automate software architecture tasks. By leveraging GitHub Actions, you can automate code linting, dependency management, and architectural compliance checks, improving the quality and consistency of your software architecture.
Full-Stack Developer
A Full Stack Developer is responsible for both front-end and back-end development. This course introduces GitHub Actions, an automation tool that can streamline both front-end and back-end development tasks. By leveraging GitHub Actions, you can automate code building, testing, and deployment, improving the efficiency and quality of your full stack development process.
Backend Developer
A Backend Developer is responsible for the server-side logic and data management of software systems. This course introduces GitHub Actions, an automation tool that can streamline back-end development tasks. By leveraging GitHub Actions, you can automate code building, testing, and deployment, improving the efficiency and quality of your back-end development process.
Frontend Developer
A Frontend Developer is responsible for the user interface and client-side logic of software systems. This course introduces GitHub Actions, an automation tool that can streamline front-end development tasks. By leveraging GitHub Actions, you can automate code building, testing, and deployment, improving the efficiency and quality of your front-end development process.
Mobile Developer
A Mobile Developer is responsible for developing software applications for mobile devices. This course introduces GitHub Actions, an automation tool that can streamline mobile development tasks. By leveraging GitHub Actions, you can automate code building, testing, and deployment, improving the efficiency and quality of your mobile development process.
Product Manager
A Product Manager is responsible for the planning, development, and launch of software products. This course may be useful for Product Managers who want to understand how GitHub Actions can be used to streamline software development and delivery processes. By leveraging GitHub Actions, Product Managers can collaborate more effectively with development teams and make data-driven decisions to improve product quality and time-to-market.
Project Manager
A Project Manager plans, executes, and closes software development projects. This course may be useful for Project Managers who want to understand how GitHub Actions can be used to streamline software development and delivery processes. By leveraging GitHub Actions, Project Managers can improve project planning, track progress, and communicate effectively with stakeholders.
Business Analyst
A Business Analyst gathers and analyzes business requirements and translates them into technical specifications. This course may be useful for Business Analysts who want to understand how GitHub Actions can be used to automate software development and delivery processes. By leveraging GitHub Actions, Business Analysts can improve communication between business stakeholders and development teams, ensuring that software products meet business needs.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in GitHub Actions - The Complete Guide.
Comprehensive guide to GitHub Actions, covering everything from the basics to advanced topics such as security and custom actions.
Provides a comprehensive overview of DevOps practices and includes a section on using GitHub Actions to implement CI/CD pipelines. It's a valuable resource for anyone looking to improve their software development process.
Comprehensive guide to DevOps, providing a detailed overview of the principles and practices involved in creating high-performing agile development teams. It covers topics such as continuous delivery, automation, and collaboration, and provides practical advice on implementing DevOps in your organization.
While not specifically about GitHub Actions, this book provides a comprehensive guide to building your own continuous delivery pipeline using Jenkins and Docker. It's a valuable resource for anyone looking to improve their software development process.
Is the annual report on the state of DevOps. It provides insights into the latest trends and best practices in DevOps, and it can be a helpful way to stay up-to-date on the latest developments in the field.
Novel that tells the story of a team that is struggling to implement DevOps. It provides a fictionalized account of the challenges and benefits of DevOps, and it can be a helpful way to learn about the concepts of DevOps in a more engaging way.
While not specifically about GitHub Actions, this book provides a comprehensive overview of Jenkins, which competing CI/CD platform. It's a valuable resource for anyone looking to improve their software development process.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to GitHub Actions - The Complete Guide.
GitHub Actions Deep Dive
Most relevant
DevOps with GitHub and Azure: Implementing CI/CD with...
Most relevant
Continuous Integration and Continuous Delivery (CI/CD)
Most relevant
Continuous Integration and Delivery (CI/CD)
Most relevant
Mastering GitHub Actions: From Beginner to Expert
Most relevant
Rust for DevOps
Most relevant
The Complete GitHub Actions & Workflows Guide
Most relevant
Learn Github Actions for CI/CD DevOps Pipelines
Most relevant
Build CI/CD Pipelines, Monitoring, and Logging
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser