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

Mastering GitHub Actions

From Beginner to Expert

Lauro Fialho Müller

Unlock the full potential of GitHub Actions with my in-depth course designed to empower developers, DevOps engineers, and software teams to streamline their workflows and boost productivity. Throughout this course, we will delve into the intricacies of GitHub Actions, exploring its building blocks, advanced features, and best practices for effective automation of software development tasks. In today's fast-paced development landscape, GitHub Actions has emerged as a game-changer, providing developers with a dynamic and robust platform to automate workflows, increase collaboration, and propel projects to new heights.

Read more

Unlock the full potential of GitHub Actions with my in-depth course designed to empower developers, DevOps engineers, and software teams to streamline their workflows and boost productivity. Throughout this course, we will delve into the intricacies of GitHub Actions, exploring its building blocks, advanced features, and best practices for effective automation of software development tasks. In today's fast-paced development landscape, GitHub Actions has emerged as a game-changer, providing developers with a dynamic and robust platform to automate workflows, increase collaboration, and propel projects to new heights.

Why GitHub Actions Matters:

GitHub Actions is pivotal for developers and DevOps practitioners, representing a cornerstone in modern software development. It enables the automation of repetitive tasks and reduces manual intervention across the development lifecycle, making it faster and more reliable. Integrated seamlessly into the GitHub platform, GitHub Actions creates a unified environment where version control, collaboration, and automation converge.

Developers benefit from GitHub Actions' tailored support for Continuous Integration and Deployment (CI/CD) workflows, facilitating the automated integration and deployment of code changes. This accelerates feedback loops, ensures early issue detection, and enables rapid, reliable software delivery. The platform's flexibility allows developers to define custom workflows, meeting specific project requirements and fostering a culture of adaptability and innovation.

GitHub Actions is not just a tool; it is a community-driven innovation. Developers and DevOps practitioners tap into a thriving community, sharing workflows, contributing to actions, and evolving the ecosystem collectively. In essence, GitHub Actions emerges as a versatile, collaborative, and secure automation solution, tailored to meet the demands of the dynamic and fast-paced world of modern software development and deployment.

Why Enroll in This Course:

This course isn't just about learning GitHub Actions; it's about mastering it. By the end, you won't just have a theoretical understanding – you'll have a hands-on, practical mastery that you can apply immediately to your projects. Here's why this course is a must for every developer:

  1. Benefit from 30+ Practical Exercises: It's all about practice. Dive right into creating your first workflow just minutes into the course, and progressive create more complex CI/CD pipelines with every section.

  2. Stay Ahead in the Game: GitHub Actions is at the forefront of modern development practices. Acquiring expertise in this tool ensures that you stay ahead of the curve, positioning yourself as a leader in the ever-evolving world of software development.

  3. Boost Efficiency and Productivity: Automate mundane and time-consuming tasks, allowing you and your team to focus on what truly matters – building exceptional software. GitHub Actions is your secret weapon for turbocharging productivity.

  4. Collaborate with Confidence: Streamline collaboration by automating code reviews, testing, and deployments. GitHub Actions brings teams together, fostering a culture of collaboration that leads to faster and more reliable software delivery.

  5. Adapt to Agile Development: In the era of Agile and DevOps, adaptability is key. GitHub Actions provides the flexibility needed to adapt workflows to changing project requirements, making it an indispensable tool in the modern developer's arsenal.

  6. Open the Door to Innovation: GitHub Actions isn't just about automation; it's about innovation. Unlock new possibilities, experiment fearlessly, and bring your boldest ideas to life with a tool that supports your creativity.

Skills You'll Gain:

By enrolling in this course, you're not just learning about GitHub Actions – you're gaining skills that are crucial in today's development world:

  • Automate workflows for faster and more reliable software delivery.

  • Collaborate seamlessly with team members, breaking down silos.

  • Implement best practices in workflow security, ensuring the safety of your codebase.

  • Develop custom actions tailored to your project's unique requirements.

  • Optimize workflows for efficiency and cost-effectiveness.

Ready to embark on this exhilarating journey? Join this course today and transform yourself into a developer equipped with the skills that define success in the dynamic world of modern software development. Let's automate, innovate, and elevate together.

Enroll now

What's inside

Learning objectives

  • How to work with the building blocks of workflows in github actions
  • Strategies to automate many tasks of the software development lifecycle
  • Best practices around designing solid ci/cd pipelines
  • Advanced concepts such as custom actions and reusable workflows
  • How to secure workflows against common vulnerabilities
  • Different ways to trigger and schedule automated tasks on github actions

Syllabus

Introduction
Welcome!
Time to get started!
Course Resources
Read more
How to Navigate the Course
Code and Repository Updates
Tools and Initial Setup
Setup NodeJS
Alternative to Setting Up the Local Environment - Using GitHub Codespaces
Creating a GitHub Repository for the Course
YAML in 5 Minutes
In this this section you will learn the basic building blocks of GitHub Actions, such as workflows, jobs, and steps. By the end of this section you will be able to create basic workflows from scratch.
Theory - Building Blocks
Practical Exercise 01 - Creating Our First Workflow
Practical Exercise 01 - Solution & Discussion
In this section, you will learn the different ways of triggering workflows in GitHub Actions. By the end of this section, you will be able to fine-tune when your workflows are run.
Theory - Workflow Events
Practical Exercise 02 - Using Different Events to Trigger Workflows
Practical Exercise 02 - Solution & Discussion
In this section, we explore the different options for running our workflows, both self- and GitHub-hosted. By the end of this section, you will be able to choose the best runner for your jobs.
Theory - GitHub and Self-Hosted Runners
Practical Exercise 03 - Working with Windows and Ubuntu Runners
Practical Exercise 03 - Solution & Discussion
In this section, we will explore using third-party custom actions in our workflows. By the end of this section, you will be able to use custom actions to create even more powerful workflows!
Theory - Actions
Practical Exercise 04 - Working with Third-Party Custom Actions
Practical Exercise 04 - Solution & Discussion
Event Filters and Activity Types
Theory - Event Filters
Theory - Activity Types
Practical Exercise 05 - Using Filters and Activity Types
Practical Exercise 05 - Solution & Discussion
Using Contexts
Theory - Contexts
Practical Exercise 06 - Working with Different Contexts
Practical Exercise 06 - Solution & Discussion
Expressions & Variables
Theory - Expressions
Practical Exercise 07 - Working with Expressions
Practical Exercise 07 - Solution & Discussion
Theory - Variables
Practical Exercise 08 - Environment Variables
Practical Exercise 08 - Solution & Discussion
Practical Exercise 09 - Organization, Repository, and Environment Variables
Practical Exercise 09 - Solution & Discussion
Functions
Theory - Functions
Practical Exercise 10 - Using Functions in Workflows
Practical Exercise 10 - Solution & Discussion
Controlling the Execution Flow
Theory - Controlling the Execution Flow
Practical Exercise 11 - Defining Dependencies & Executing Jobs Conditionally
Practical Exercise 11 - Solution & Discussion
Inputs and Outputs
Theory - Inputs
Practical Exercise 12 - Working with Inputs
Practical Exercise 12 - Solution & Discussion
Theory - Outputs
Practical Exercise 13 - Working with Outputs
Practical Exercise 13 - Solution & Discussion
Practical Exercise 14 - Avoiding the Mistake of Overwritting the Output File
Practical Exercise 14 - Solution & Discussion
Sharing Data - Caching and Artifacts
Theory - Caching
Practical Exercise 15 - Using Caching to Speed Up Installing Dependencies
Practical Exercise 15 - Solution & Discussion
Practical Exercise 16 - Using Multiple Jobs for Better Caching Functionality
Practical Exercise 16 - Solution & Discussion
Theory - Artifacts
Practical Exercise 17 - Working with Artifacts
Practical Exercise 17 - Solution & Discussion
Working with Matrices
Theory - Matrices
Practical Exercise 18 - Introduction to Using Matrices
Practical Exercise 18 - Solution & Discussion
Practical Exercise 19 - Exploring the Include Option
Practical Exercise 19 - Solution & Discussion
Practical Exercise 20 - Exploring the Exclude Option
Practical Exercise 20 - Solution & Discussion
Environments
Theory - Environments
Practical Exercise 21 - Working with Environments
Practical Exercise 21 - Solution & Discussion
Developing Custom Actions from Scratch
Theory - Developing Custom Actions from Scratch
Practical Exercise 22 - Creating a Composite Custom Action
Practical Exercise 22 - Solution & Discussion
Practical Exercise 23 - Using and Extending Our Composite Custom Action
Practical Exercise 23 - Solution & Discussion
Practical Exercise 24 - Setting Up Our JavaScript Custom Action
Practical Exercise 24 - Solution & Discussion - Part 1
Practical Exercise 24 - Solution & Discussion - Part 2
Practical Exercise 25 - Parsing Inputs and Running Shell Commands
Practical Exercise 25 - Solution & Discussion - Part 1
Practical Exercise 25 - Solution & Discussion - Part 2
Practical Exercise 26 - Adding the Logic to Create PRs
Practical Exercise 26 - Solution & Discussion - Part 1
Practical Exercise 26 - Solution & Discussion - Part 2
Practical Exercise 27 - Setting Up Our Docker Custom Action
Practical Exercise 27 - Solution & Discussion - Part 1

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches a framework and tooling for streamlining the software development process, which is an industry standard practice
Explores the principles of continuous integration and continuous delivery, which are fundamental concepts in modern software engineering
Provides hands-on exercises and practical examples, ensuring learners can apply their knowledge in real-world scenarios
Taught by Lauro Fialho Müller, a recognized expert in GitHub Actions and DevOps practices
Covers advanced concepts such as custom actions and reusable workflows, enabling learners to enhance their automation capabilities
May require some prior knowledge of software development concepts and tools

Save this course

Save Mastering GitHub Actions: From Beginner to Expert to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Mastering GitHub Actions: From Beginner to Expert with these activities:
Revise Git concepts
Review the fundamentals of Git to strengthen your understanding of version control concepts.
Browse courses on Git
Show steps
  • Review Git tutorials and documentation
  • Practice using Git commands in a local repository
Read 'Pro Git'
Gain a deeper understanding of Git's internals and best practices by reading a comprehensive guide.
Show steps
  • Read through the book, taking notes and highlighting important concepts
  • Apply the concepts learned to your own Git workflow
Follow along with GitHub Actions tutorials
Supplement your learning by following step-by-step tutorials that demonstrate practical applications of GitHub Actions.
Show steps
  • Identify reputable sources that offer GitHub Actions tutorials
  • Select tutorials that align with your learning objectives
  • Follow the instructions and implement the examples
12 other activities
Expand to see all activities and additional details
Show all 15 activities
Explore the GitHub Actions Documentation
The GitHub Actions documentation provides comprehensive information on all aspects of GitHub Actions, helping you to fully understand its capabilities and best practices.
Browse courses on Github Actions
Show steps
  • Visit the GitHub Actions documentation website
  • Explore the various sections and topics
  • Read through tutorials and examples
  • Refer to the documentation when working on your GitHub Actions projects
Participate in a GitHub Actions hackathon
Participating in a GitHub Actions hackathon can challenge your skills, foster collaboration, and provide an opportunity to learn from others while creating innovative solutions.
Browse courses on Github Actions
Show steps
  • Find a GitHub Actions hackathon to participate in
  • Form a team or work individually
  • Brainstorm ideas for your project
  • Develop and implement your GitHub Actions solution
  • Submit your project
Solve GitHub Actions exercises
Reinforce your understanding of GitHub Actions by completing hands-on exercises and challenges.
Show steps
  • Find online repositories or platforms that provide GitHub Actions exercises
  • Attempt to solve the exercises on your own
  • Review solutions and discuss with peers or mentors
Host a study group or discussion forum for GitHub Actions
Leading a study group or discussion forum will allow you to share your knowledge, engage with others, and collectively explore different aspects and applications of GitHub Actions.
Browse courses on Github Actions
Show steps
  • Summarize key points and share resources
  • Choose a topic or theme for your study group or discussion forum
  • Create a schedule and meeting platform
  • Facilitate discussions and encourage participation
Write a blog post or article about your experiences with GitHub Actions
Sharing your experiences and insights about GitHub Actions through a blog post or article can help others learn from your knowledge and promote the adoption of this valuable tool.
Browse courses on Github Actions
Show steps
  • Choose a topic related to GitHub Actions
  • Write a draft of your article
  • Edit and refine your writing
  • Publish your article on a relevant platform
Build a GitHub Actions workflow from scratch
Apply your knowledge to create a custom GitHub Actions workflow that meets specific requirements.
Show steps
  • Define the purpose and goals of your workflow
  • Design the workflow structure and job configuration
  • Implement the necessary tasks and actions
  • Test and debug your workflow
Create custom actions to automate specific tasks
Creating custom actions allows you to extend the functionality of GitHub Actions and automate specific tasks that are tailored to your project's needs.
Show steps
  • Identify a task that can be automated
  • Create a new custom action
  • Implement the action's logic
  • Test the action
  • Use the action in your workflows
Write a blog post or article on GitHub Actions
Share your knowledge and insights about GitHub Actions by creating a written resource.
Show steps
  • Choose a specific topic or aspect of GitHub Actions to focus on
  • Research and gather information from reliable sources
  • Organize your content in a clear and engaging manner
  • Publish your blog post or article on an appropriate platform
Automate a real-world CI/CD pipeline using GitHub Actions
Building a real-world CI/CD pipeline using GitHub Actions will allow you to apply your knowledge and gain hands-on experience in setting up and managing a complete automation process.
Browse courses on CI/CD Pipeline
Show steps
  • Define the project requirements and scope
  • Set up a GitHub repository for the project
  • Create a GitHub Actions workflow
  • Configure the workflow to perform the desired tasks
  • Test and refine the workflow
  • Deploy the project using the automated pipeline
Attend a GitHub Actions meetup or conference
Connect with others in the field and learn about the latest trends and best practices in GitHub Actions.
Show steps
  • Find upcoming GitHub Actions events in your area
  • Register and attend the event
  • Engage with speakers, attendees, and potential collaborators
Contribute to an open-source GitHub Actions project
Contributing to an open-source GitHub Actions project provides an opportunity to learn from others, enhance the ecosystem, and showcase your skills while advancing your understanding of GitHub Actions.
Browse courses on Github Actions
Show steps
  • Find an open-source GitHub Actions project that aligns with your interests
  • Identify areas where you can contribute
  • Create a pull request with your proposed changes
  • Collaborate with the project maintainers to refine and merge your contribution
Contribute to an open-source GitHub Actions project
Gain real-world experience by contributing to the development and maintenance of GitHub Actions projects.
Show steps
  • Identify open-source GitHub Actions projects that align with your interests
  • Review the project documentation and issue tracker
  • Propose a contribution or feature enhancement
  • Develop and submit your pull request
  • Address feedback and iterate on your contribution

Career center

Learners who complete Mastering GitHub Actions: From Beginner to Expert will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

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

Similar courses

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