The Complete GitHub Actions & Workflows Guide (Udemy.com)
Automate Code Testing, Deployment & Versioning using CI/CD Workflows. Create & Publish GitHub Actions to the Marketplace
Created by: Ali Alaa
Last updated September 2025
What you will learn
- Learn about writing serialized data in the YAML format.
- Learn about all the GitHub Actions concepts (Workflows, Steps, Jobs, Actions, etc..)
- Discover everything you can do in a GitHub workflow (events, schedules, filtering, environment variables, context, encryption, matrix and more)
- Learn how docker can be used in a GitHub workflow
- Create a real-life CI/CD workflow for code testing, formatting, versioning and more.
- Use caching in workflows for an improved performance.
- Learn about uploading artifacts in workflows.
- Learn about how to create your own custom GitHub Actions using Javascript or Docker
- Create an action for opening GitHub issues using JavaScript.
- Create an action for sending slack messages using PHP.
- Learn how to publish GitHub actions in the GitHub marketplace.
How it compares
Against the other 108 rated Udemy courses in Git on CourseDuck:
- Rating4.6 out of 5higher than 74% of them
- Reviews4,087#22 of 109 by number of reviews
- Length14.9 hourslonger than 94% of them
- Last updatedSeptember 2025more recently than 70% of them
Course Description
NOTE: The last section in the course requires an AWS account and you might be charged if you follow the section actively. Check the promo video for more information.
GitHub recently released GitHub Actions", a CI service competitor to services like TravisCI and CircleCI. GitHub Actions however has the edge of being natively integrated with your GitHub repository. In addition to that, thanks to GitHub's popularity; GitHub Actions has the advantage of having large ecosystem and community. Using GitHub Actions you will find a lot of official and community pre-made workflows and also the actions marketplace. In the actions marketplace you can find tons of actions which are reusable pieces of code that you can use in your workflows to perform certain tasks like deploying code, interacting with API's, sending SMS's, etc..
Learn everything you need to know in order to create GitHub workflows & Actions.
In this course we will comprehensively explore GitHub's CI service. We are going to learn what GitHub workflows & actions are. And we will discover everything we can do in a GitHub workflow including how to run commands, use actions, trigger workflows, build matrices, reuse workflows, use docker and more. We are going to learn how to write custom actions and publish them to the marketplace so that other people can use them. Finally, we will use what we learned to create a real-world example of a CI/CD workflow where we will test, build, deploy a web application to AWS.
Let's take a look at what will be discussed in each section in more detail:
Section 1
In section 1 we will have a conceptual introduction to Github Actions. We are going to learn what terms like workflows, actions, jobs, steps and other terms mean. We are also going to learn about YAML which is the format used to write workflows in GitHub. Then we will start writing our first workflow and take a look at basic things like writing commands, using different shells and using actions including the most common action which is the checkout action.
Section 2
In section 2 we will get a bit deeper and learn different ways that we can use in order to trigger a workflow to run. This includes GitHub events like push and pull_request, external events, manual events and CRON schedules. We will also see how to make a workflow only run for certain branches, tags and directory paths.
Section 3
In this section we will take a look at how to write expressing in a workflow. And how to use context information and functions in our workflows. We will also see how can we use default environment variables and also how to add custom environment variables. We will discover how to encrypt sensitive information and also how to encrypt and decrypt sensitive files that we don't won't to push to our repository. Moreover, we will take a look at the GITHUB_TOKEN environment variable and how to use it to perform certain actions and how to customize its permissions.
Section 4
In section 4 we will see how can we setup matrices, a matrix is a way to run a job multiple times but using different configurations. We will also learn about concurrency and how to reuse our workflows to avoid duplication. We are also going to take a look at caching and uploading and downloading artifacts.
Section 5
In section 5 we are going to discuss using docker in GitHub Actions. We are going to see how to use docker images in our jobs and steps. We are also going to learn about running multiple service containers together and see how to communicate between them. Finally we are going to see how can we automate publishing docker images to DockerHub and the GitHub Container Registry.
Section 6
During the course we will use some actions that are available in the marketplace. But in this section we are going to learn how to create our own actions. Actions can be created using JavaScript or using Docker. In this section we are going to learn about both ways and then we will create a JavaScript action that opens GitHub issues and a docker action that sends a slack message which we will write using PHP. We will also discover another way of writing actions which is Composite Actions.
Section 7
In section 5 we will finally use our knowledge to create a real-world CI/CD example. In this section we are going to use an Amazon service called Elastic Beanstalk to deploy our app. We are going to use feature flags to continuously integrate and deploy our app without exposing all features to the end user. We are going to automate versioning our app and generating changelogs. In addition to that, we are going to add the option to deploy pull request branches to an isolated AWS environment and also add the option to destroy that environment. We are finally going to see how to use OpenID Connect to access AWS from our workflows without having to store any credentials. This section requires an AWS account and you might be charged if you follow the section actively.
Instructor Details
- 4.6 Rating
4,087 Reviews
Ali Alaa
Hey there! I am Ali Alaa. Years ago I discovered my interest in web development, especially the front-end side. I started exploring the field from HTML/CSS/JS to WordPress theming and JS frameworks. I have been working as a web developer for more than 10 years. After all these years, I decided to start creating on udemy and share my knowledge with you.
More courses by Ali Alaa
Gutenberg Blocks for WordPress and React Developers (2025)
4.5 (948 Reviews)
Provider: Udemy
Time: 16.3h
$11.99
The Complete Guide to Building Premium WordPress Themes (2021)
4.4 (766 Reviews)
Provider: Udemy
Time: 17.8h
$79.99
React Native: Create an Unbeatable & Multiplayer Tic-Tac-Toe (2022)
4.6 (117 Reviews)
Provider: Udemy
Time: 23.1h
$69.99
More Git courses
Git Ultimate Essentials: Everything you NEED to know (2019)
4.8 (103 Reviews)
Provider: Udemy
Time: 2.5h
$39.99
GitLab CI/CD: Pipelines, CI/CD and DevOps for Beginners (2026)
4.7 (25,572 Reviews)
Provider: Udemy
Time: 13.9h
$14.99
Git and GitHub CRASH COURSE - with Unreal Engine (2026)
4.7 (1,029 Reviews)
Provider: Udemy
Time: 6.7h
$89.99
Reviews
By Драган Вучановић on 11/17/2025
Greate course,starts with basic and continues with advances concepts,especially in chapter 7. Code in that chapte is obsolete, test/test unit works fail. When running locally it works but in EBS fails,getting white script in frontend web gui. Also AWS_EB_PLATFORM variable must be changed to "Node.js 20 running on 64bit Amazon Linux 2023"
By DIRK CLEMENS on 6/2/2025
Taking this course enables to utilize GitHub Actions and Workflows. Essential bits and pieces are covered in very rich details based on daily development tasks. In addition, very crucial topics such as authentication and authorisation are very well covered in order to gain advantage for automation and integration.
By Anupam Agrawal on 1/1/2025
great course on ci/cd workflow with github actions . I was completely new on the topic but the course starts from very basics and gradually takes to very advance level . If you are a developer then you should definitely consider this course . It will be a great investment . The video/audio quality , instructor and everything is great . I can surely say that you will not find this deep knowledge on youtube ( till the time i am writing this review ) as I have already tried it . So go for it :)
By Antonio Manilla Maldonado on 3/8/2024
It's a very complete course. But I think that it's a positive and a negative thing at the same time. Because I was expecting just to learn about GitHub Actions and I also learned AWS and other things. What I mean is, that maybe the description should include a more extensive description about what you need before starting. Besides of that, you will not find a more complex, robust and complete course about GitHub Actions than this one.
By Kuldeep Kumar Sedha on 12/20/2023
Nice, but if someone needs to match the pace of this course should have with the basic understanding of coding syntax. At some point in time it gives a feeling that the speaker is well versed with the step to step coding and it takes time to corelate the logic used to get the outcome.
By Anonymized User on 6/28/2022
While I do like video lectures and guides in general, they can be difficult to reference later on, and often things do not stick in my mind from just hearing it. Of course it is probably true for most learners that eventually things are really learned by doing, and this is not to say video lectures, or this one in particular are bad or worse than those employing only reading and/or doing.
By Spyros Argalias on 4/25/2022
Pretty good course. Following these videos was much easier to learn than reading through the GitHub documentation. Not that the GitHub documentation isn't good, but it just doesn't have a walkthrough where you slowly build more and more for practice. I highly recommend the course. Some things are outdated, but easy to figure out if you look at the Q&A.
By Anonymized User on 4/4/2022
PROS: The course is quite good, especially the CI\CD part. I followed the host and recreated most of the examples with my lab. So, this is great hands-on experience. CONS: - Without code attached it is quite difficult to follow and check the code only from the video. - More complex examples with JS and PHP were a bit difficult to follow with my Python experience.
By Gunawan Prasetio on 11/3/2021
"The Complete Github Actions and Workflow" are a remarkable course that talks about Github Actions and Workflow. The explanation is clear and easy to follow. This is one of the best courses that I've ever taken on Udemy. Thanks to the lecturer Ali Alaa. You are doing a great job bro!
By Rishab Prasad on 3/22/2020
This is an amazing amazing course which covers petty much everything! The concepts are well explained with real-life examples. The CI/CD workflow example is of production level and very well tailored. Thank you for the amazing course. I would recommend everyone to take this course as it starts from the very basic and then deep dives into complexities and details. Also, I would like to point this out that 'Ali Alaa'- the author of the course is really really helpful. He is very prompt in responding to your questions and goes an extra mile in helping you with your doubts. Big shout-out to the author :)
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100









