The Complete GitHub Actions & Workflows Guide
The Complete GitHub Actions & Workflows Guide, available at $84.99, has an average rating of 4.6, with 150 lectures, 2 quizzes, based on 3504 reviews, and has 25327 subscribers.
You will learn about 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. This course is ideal for individuals who are Developers/Software engineers who need to learn everything about GitHub Workflows & Actions. or Developers/Software engineers who want to create a CI/CD workflow using GitHub or Developers/Software engineers who would like to learn how to create and publish GitHub Actions. It is particularly useful for Developers/Software engineers who need to learn everything about GitHub Workflows & Actions. or Developers/Software engineers who want to create a CI/CD workflow using GitHub or Developers/Software engineers who would like to learn how to create and publish GitHub Actions.
Enroll now: The Complete GitHub Actions & Workflows Guide
Summary
Title: The Complete GitHub Actions & Workflows Guide
Price: $84.99
Average Rating: 4.6
Number of Lectures: 150
Number of Quizzes: 2
Number of Published Lectures: 87
Number of Curriculum Items: 152
Number of Published Curriculum Objects: 87
Original Price: $99.99
Quality Status: approved
Status: Live
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.
Who Should Attend
- Developers/Software engineers who need to learn everything about GitHub Workflows & Actions.
- Developers/Software engineers who want to create a CI/CD workflow using GitHub
- Developers/Software engineers who would like to learn how to create and publish GitHub Actions.
Target Audiences
- Developers/Software engineers who need to learn everything about GitHub Workflows & Actions.
- Developers/Software engineers who want to create a CI/CD workflow using GitHub
- Developers/Software engineers who would like to learn how to create and publish GitHub Actions.
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.
Course Curriculum
Chapter 1: Introduction & Basic Concepts
Lecture 1: Before Starting the Course
Lecture 2: Introduction to GitHub Actions & Workflows
Lecture 3: Introduction to the YAML Format
Lecture 4: Let's Create Our First Workflow
Lecture 5: Parallel & Dependent Jobs
Lecture 6: An Overview to Managing Our Workflow Runs through the Web UI & the GitHub CLI
Lecture 7: Debugging Our Workflow Runs
Lecture 8: Skipping Workflow Runs
Lecture 9: Introduction to Workflow Commands
Lecture 10: Quick Note
Lecture 11: Shells & Working Directories
Lecture 12: Downloading Our Repository into the Runner Machine
Lecture 13: Introduction to Actions
Lecture 14: The Checkout Action
Chapter 2: Events that Trigger Workflows
Lecture 1: Repository Events (ex. Push, Pull Request, Issues)
Lecture 2: Events Activity Types
Lecture 3: Workflow Run Approval from Fork Pull Requests
Lecture 4: Using the Pull Request Target Event
Lecture 5: Running a Workflow Based on Another Workflow
Lecture 6: Filtering Our Workflow Runs by Branches, Tags and Paths
Lecture 7: Manually Triggering a Workflow from the GitHub Web UI, CLI and the REST API
Lecture 8: Using the Repository Dispatch Event for External Events
Lecture 9: Running Workflows on a Schedule
Chapter 3: Expressions, Contexts, Functions, Environment Variables & Secrets
Lecture 1: Expressions & Contexts
Lecture 2: The If Key & Expression Functions
Lecture 3: Status Check Functions
Lecture 4: Default & Custom Environment Variables
Lecture 5: Setting Environment Variables During the Execution of a Workflow
Lecture 6: Configuration Variables & Secrets
Lecture 7: Encrypting & Decrypting Large Files in a Workflow
Lecture 8: The GITHUB_TOKEN Secret & Customizing its Permissions
Chapter 4: Diving Deeper with More Advanced Github Actions Features
Lecture 1: Timeout Minutes & Continue on Error
Lecture 2: Running a Job Multiple Times Using a Matrix
Lecture 3: Including & Excluding Matrix Configurations
Lecture 4: Handling Failing Jobs in a Matrix
Lecture 5: Step and Job Outputs & Dynamic Matrices
Lecture 6: Running a Single Job or Workflow at a Time Using Concurrency
Lecture 7: Reusable Workflows
Lecture 8: Reusable Workflow Outputs
Lecture 9: Nesting Reusable Workflows
Lecture 10: Caching Files in Github Actions
Lecture 11: Updating Cache Keys Dynamically & Adding Restore Keys
Lecture 12: Cache Limits & Restrictions
Lecture 13: Uploading & Downloading Job Artifacts
Chapter 5: Using Docker in GitHub Actions
Lecture 1: Running Jobs in Docker Containers
Lecture 2: Using Docker Containers in Steps
Lecture 3: Exploring Shared Networks & Volumes Between Multiple Containers
Lecture 4: Creating a Custom Docker Entrypoint Script
Lecture 5: Sending a Slack Message Using a Docker Container
Lecture 6: An Overview to a Simple NodeJS Application
Lecture 7: Using Service Containers in GitHub Actions
Lecture 8: Publishing Docker Images Using GitHub Actions
Chapter 6: Creating & Publishing Our Own Actions
Lecture 1: Actions Overview
Lecture 2: Creating a Simple JavaScript Action
Lecture 3: Compiling The Action's JavaScript Code into One File
Lecture 4: Creating a Simple Docker Action
Lecture 5: Bundling Steps into an Action with Composite Actions
Lecture 6: Writing a Docker Action for Sending a Slack Message Using PHP (Part 1)
Lecture 7: Writing a Docker Action for Sending a Slack Message Using PHP (Part 2)
Lecture 8: Using an Official GitHub Template for Writing JavaScript Actions
Lecture 9: Creating a JavaScript Action for Opening Github Issues
Lecture 10: Creating Releases & Publishing Our Action to the Marketplace
Lecture 11: Automating Release Management For Our Action
Chapter 7: Let's Create a Complete CI/CD Workflow
Lecture 1: Introduction the Application that We are Going to Automate
Lecture 2: Let's Discuss Our Workflow Plan
Lecture 3: Using Flagsmith to Add Feature Flags to Our Project
Lecture 4: Deploying Our App to AWS Elastic Beanstalk
Lecture 5: Configuring Repository Protection Rules & Environments
Lecture 6: Creating a Workflow to Test Our App
Lecture 7: Fixing and Running Our Test Workflow & CodeQL on Pull Request
Lecture 8: Caching Playwright Browsers to Make Our Workflow Faster
Lecture 9: Creating a Workflow to Deploy to AWS Elastic Beanstalk (Part. 1)
Lecture 10: Creating a Workflow to Deploy to AWS Elastic Beanstalk (Part. 2)
Lecture 11: Testing Our Deploy Workflow
Lecture 12: Adding Changesets to Handle our App's Versioning
Lecture 13: Creating a Version Pull Request on Pushing Changeset Files
Lecture 14: Testing & Deploying to Staging & Production when Merging Version Pull Requests
Lecture 15: Quick Note
Lecture 16: Deploying Pull Request Branches to Isolated AWS Environments (Part 1)
Lecture 17: Deploying Pull Request Branches to Isolated AWS Environments (Part 2)
Lecture 18: Terminating Pull Request AWS Environments
Lecture 19: Detecting Errors Before Committing Our Code Using Git Hooks
Lecture 20: Quick Note
Lecture 21: Using OIDC for AWS Authorization Instead of Storing Secrets
Lecture 22: Customizing the OIDC JWT Token Subject for More Granularity
Lecture 23: Quick Note
Chapter 8: Conclusion
Lecture 1: More Reading
Instructors
-
Ali Alaa
Front-end Web Developer
Rating Distribution
- 1 stars: 27 votes
- 2 stars: 45 votes
- 3 stars: 323 votes
- 4 stars: 1223 votes
- 5 stars: 1890 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024