DEV Community

Cover image for Full GitHub Actions Course [FREE] 💥📽️🚀
Davide 'CoderDave' Benvegnù
Davide 'CoderDave' Benvegnù

Posted on

Full GitHub Actions Course [FREE] 💥📽️🚀

In this GitHub Actions Tutorial you will be able to go from zero to hero in 90 minutes. By the end of this course, you will have a deep understanding of the concepts and a great overall big picture of how GitHub Actions works and is used in the whole software development process.

And the best part? It is completely free, and takes only 90 minutes!

The course is a mix of theoretic explanations and hands-on demos to follow along, so you get your first hands-on experience with Actions and feel more confident using it in your projects.

The course is available here: 🤓

Link to the video: https://youtu.be/TLB5MY9BBa4

Course Overview 📘

This is what this course is all about:

1. GitHub Actions Overview

  • What is GitHub Actions
  • Advantages of GitHub Actions over other CI platforms
  • Key functionalities of GitHub Actions
  • Actions components: Events, Triggers, Workflows, Actions
  • Types of Actions: JavaScript vs Container
  • Actions Creation: Monolithic vs Chainable
  • Starter workflows
  • GitHub Actions Syntax
  • Governance of GitHub Actions
  • Debug and Troubleshooting

2. Actions CI, CD & Release

  • CI Workflows structure
  • Matrix build
  • CI Workflows examples: Docker, Web Apps, etc.
  • CD Workflows structure
  • CD Workflows examples: Docker, Azure, AWS, Serverless, ECS, Kubernetes, etc.
  • GitHub Actions Environments overview
  • Protection Rules and Approvals
  • Deployment Logs overview
  • GitHub Actions Environments: creation, management, and usage

3. Self-Hosted Runners

  • Difference between Hosted runners and Self-hosted runners
  • Configure Self-hosted runners
  • Runner Groups and why to use them
  • Best practices for Self-hosted runners
  • Dynamically scale Self-hosted runners

4. Secret Management

  • GitHub Actions Secrets Overview
  • Type of Secrets: Organization vs Repository vs Environment
  • Limitation of GitHub Secrets
  • Secrets: creation, management, and usage
  • Third party actions for secrets (Azure KeyVault, and more)

5. Advanced GitHub Actions

  • API availability
  • Passing Parameters to Actions
  • Repository Dispatch with custom events
  • Control the flow of the workflow with Conditionals

Like, share and follow me 🚀 for more content:

📽 YouTube
Buy me a coffee
💖 Patreon
🌐 CoderDave.io Website
👕 Merch
👦🏻 Facebook page
🐱‍💻 GitHub
👲🏻 Twitter
👴🏻 LinkedIn
🔉 Podcast

Buy Me A Coffee

Top comments (8)

Collapse
 
basman profile image
Adam.S • Edited

More a question.
I have been able to use the ssh action to make a remote server do actions on the remote server.
But I have been unable to use the actions/checkout to push to a the same remote server. Getting ssh authentication errors. Is it possible to push to a remote server using the checkout action?

Solved: I used add-ssh-key action to get the required key and known-host data into my action.

Collapse
 
michaelcurrin profile image
Michael Currin

The breakdown of markers in the video looks so good so one can skip to a section, so then that works like having smaller videos.

The self hosted runners section is something beginners probably won't need and so could have been better a separate video that gets linked at the end.

Collapse
 
n3wt0n profile image
Davide 'CoderDave' Benvegnù

Thanks for the feedback! I was in fact debating whether removing the self-hosted runners part but I ended up leaving it in the video because a lot of companies use them

Collapse
 
anilvinukonda profile image
AnilVinukonda

I would like to remove “actions” tab on my github private repository as well as restrict users from clicking on " Run workflow " on my environment ( QA ) inside my private repository.

I would like to know how to review and approve “Run workflow” in an environment ( QA ) inside my private repository.

Please help how this can be achieved in github actions.

Collapse
 
n3wt0n profile image
Davide 'CoderDave' Benvegnù

Hi, to disable Actions on a specific repository, on the Settings tab of this repository, navigate to Actions , select Disable Actions for this repository. This will remove the Actions tab but also completely disable the feature, so you won;t be able to run any workflow anymore... unfortunately it is not possible to keep Actions enabled but remove the tab.

About the approval, if you are in GitHub Enterprise you can use the GitHub Actions Environment features, which includes approvals (take a look at it here: youtu.be/w_37LDOy4sI)
If, instead, you are not in GitHub Enterprise, you need to find a workaround for that... one possible solution is using the IssueOps approach as I describe step-by-step in this video: youtu.be/MDOn9HAS7bQ

Collapse
 
anilvinukonda profile image
AnilVinukonda

Thank you Dave,

Collapse
 
michaelcurrin profile image
Michael Currin • Edited

I have some resources here if you are interested

Syntax

michaelcurrin.github.io/dev-cheats...

Sample workflows

michaelcurrin.github.io/code-cookb...

Collapse
 
n3wt0n profile image
Davide 'CoderDave' Benvegnù

This is my first full-lenght free course on the Channel. What do you think? Do you like it or do you prefer the "normal" shorter videos? Let me know :)