Mastering Github Actions: From Beginner To Expert

Posted By: ELK1nG

Mastering Github Actions: From Beginner To Expert
Published 1/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.97 GB | Duration: 12h 6m

Learn the most important GitHub Actions concepts to build resilient CI/CD pipelines and automate many development tasks!

What you'll learn

Work with the building blocks of workflows in GitHub Actions

Automate many tasks of the software development lifecycle

Implement best practices around designing solid CI/CD pipelines

Master advanced concepts such as custom actions and reusable workflows

Secure workflows against common vulnerabilities

Leverage different ways to trigger and schedule automated tasks on Github Actions

Requirements

No prior GitHub Actions experience needed, you will learn everything during the course!

Basic familiarity with programming and git concepts is recommended.

Description

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: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.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.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.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.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.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!

Overview

Section 1: Introduction

Lecture 1 Welcome!

Lecture 2 Course Resources

Lecture 3 How to Navigate the Course

Lecture 4 Code and Repository Updates

Section 2: Tools and Initial Setup

Lecture 5 Setup NodeJS

Lecture 6 Alternative to Setting Up the Local Environment - Using GitHub Codespaces

Lecture 7 Creating a GitHub Repository for the Course

Lecture 8 YAML in 5 Minutes

Section 3: Github Actions Building Blocks

Lecture 9 Theory - Building Blocks

Lecture 10 Practical Exercise 01 - Creating Our First Workflow

Lecture 11 Practical Exercise 01 - Solution & Discussion

Section 4: Event Triggers

Lecture 12 Theory - Workflow Events

Lecture 13 Practical Exercise 02 - Using Different Events to Trigger Workflows

Lecture 14 Practical Exercise 02 - Solution & Discussion

Section 5: Workflow Runners

Lecture 15 Theory - GitHub and Self-Hosted Runners

Lecture 16 Practical Exercise 03 - Working with Windows and Ubuntu Runners

Lecture 17 Practical Exercise 03 - Solution & Discussion

Section 6: Using Third-Party Actions

Lecture 18 Theory - Actions

Lecture 19 Practical Exercise 04 - Working with Third-Party Custom Actions

Lecture 20 Practical Exercise 04 - Solution & Discussion

Section 7: Event Filters and Activity Types

Lecture 21 Theory - Event Filters

Lecture 22 Theory - Activity Types

Lecture 23 IN PROGRESS - Practical Exercise 05 - Using Filters and Activity Types

Lecture 24 Practical Exercise 05 - Solution & Discussion

Section 8: Using Contexts

Lecture 25 Theory - Contexts

Lecture 26 Practical Exercise 06 - Working with Different Contexts

Lecture 27 Practical Exercise 06 - Solution & Discussion

Section 9: Expressions & Variables

Lecture 28 Theory - Expressions

Lecture 29 Practical Exercise 07 - Working with Expressions

Lecture 30 Practical Exercise 07 - Solution & Discussion

Lecture 31 Theory - Variables

Lecture 32 Practical Exercise 08 - Environment Variables

Lecture 33 Practical Exercise 08 - Solution & Discussion

Lecture 34 WIP Practical Exercise 09 - Organization, Repository, and Environment Variables

Lecture 35 Practical Exercise 09 - Solution & Discussion

Section 10: Functions

Lecture 36 Theory - Functions

Lecture 37 Practical Exercise 10 - Using Functions in Workflows

Lecture 38 Practical Exercise 10 - Solution & Discussion

Section 11: Controlling the Execution Flow

Lecture 39 Theory - Controlling the Execution Flow

Lecture 40 Practical Exercise 11 - Defining Dependencies & Executing Jobs Conditionally

Lecture 41 Practical Exercise 11 - Solution & Discussion

Section 12: Inputs and Outputs

Lecture 42 Theory - Inputs

Lecture 43 Practical Exercise 12 - Working with Inputs

Lecture 44 Practical Exercise 12 - Solution & Discussion

Lecture 45 Theory - Outputs

Lecture 46 Practical Exercise 13 - Working with Outputs

Lecture 47 Practical Exercise 13 - Solution & Discussion

Lecture 48 Practical Exercise 14 - Avoiding the Mistake of Overwritting the Output File

Lecture 49 Practical Exercise 14 - Solution & Discussion

Section 13: Sharing Data - Caching and Artifacts

Lecture 50 Theory - Caching

Lecture 51 Practical Exercise 15 - Using Caching to Speed Up Installing Dependencies

Lecture 52 Practical Exercise 15 - Solution & Discussion

Lecture 53 Practical Exercise 16 - Using Multiple Jobs for Better Caching Functionality

Lecture 54 Practical Exercise 16 - Solution & Discussion

Lecture 55 Theory - Artifacts

Lecture 56 Practical Exercise 17 - Working with Artifacts

Lecture 57 Practical Exercise 17 - Solution & Discussion

Section 14: Working with Matrices

Lecture 58 Theory - Matrices

Lecture 59 Practical Exercise 18 - Introduction to Using Matrices

Lecture 60 Practical Exercise 18 - Solution & Discussion

Lecture 61 Practical Exercise 19 - Exploring the Include Option

Lecture 62 Practical Exercise 19 - Solution & Discussion

Lecture 63 Practical Exercise 20 - Exploring the Exclude Option

Lecture 64 Practical Exercise 20 - Solution & Discussion

Section 15: Environments

Lecture 65 Theory - Environments

Lecture 66 Practical Exercise 21 - Working with Environments

Lecture 67 Practical Exercise 21 - Solution & Discussion

Section 16: Developing Custom Actions from Scratch

Lecture 68 Theory - Developing Custom Actions from Scratch

Lecture 69 Practical Exercise 22 - Creating a Composite Custom Action

Lecture 70 Practical Exercise 22 - Solution & Discussion

Lecture 71 Practical Exercise 23 - Using and Extending Our Composite Custom Action

Lecture 72 Practical Exercise 23 - Solution & Discussion

Lecture 73 Practical Exercise 24 - Setting Up Our JavaScript Custom Action

Lecture 74 Practical Exercise 24 - Solution & Discussion - Part 1

Lecture 75 Practical Exercise 24 - Solution & Discussion - Part 2

Lecture 76 Practical Exercise 25 - Parsing Inputs and Running Shell Commands

Lecture 77 Practical Exercise 25 - Solution & Discussion - Part 1

Lecture 78 Practical Exercise 25 - Solution & Discussion - Part 2

Lecture 79 Practical Exercise 26 - Adding the Logic to Create PRs

Lecture 80 Practical Exercise 26 - Solution & Discussion - Part 1

Lecture 81 Practical Exercise 26 - Solution & Discussion - Part 2

Lecture 82 Practical Exercise 27 - Setting Up Our Docker Custom Action

Lecture 83 Practical Exercise 27 - Solution & Discussion - Part 1

Lecture 84 Practical Exercise 28 - Solution & Discussion - Part 2

Lecture 85 Practical Exercise 29 - Adding the Ping Logic in Python

Lecture 86 Practical Exercise 29 - Solution & Discussion

Lecture 87 Practical Exercise 30 - Working with Outputs in Custom Actions

Lecture 88 Practical Exercise 30 - Solution & Discussion

Section 17: Creating Reusable Workflows

Lecture 89 Theory - Reusable Workflows

Lecture 90 Practical Exercise 31 - Creating and Using Reusable Workflows

Lecture 91 Practical Exercise 31 - Solution & Discussion

Lecture 92 Practical Exercise 32 - Reusing Workflows from Other Repositories

Lecture 93 Practical Exercise 32 - Solution & Discussion - Part 1

Lecture 94 Practical Exercise 32 - Solution & Discussion - Part 2

Lecture 95 Practical Exercise 32 - Solution & Discussion - Part 3

Section 18: Managing Concurrency

Lecture 96 Theory - Managing Concurrency

Lecture 97 Practical Exercise 33 - Managing Concurrency at the Workflow Level

Lecture 98 Practical Exercise 33 - Solution & Discussion

Lecture 99 Practical Exercise 34 - Managing Concurrency at the Job Level

Lecture 100 Practical Exercise 34 - Solution & Discussion

Section 19: Workflow Security

Lecture 101 Theory - Workflow Security

Lecture 102 Practical Exercise 35 - Preventing Script Injection via Intermediate Variables

Lecture 103 Practical Exercise 35 - Solution & Discussion

Lecture 104 Practical Exercise 36 - Preventing Script Injection via Custom Actions

Lecture 105 Practical Exercise 36 - Solution & Discussion

Developers looking to expand their knowledge on GitHub Actions and CI/CD,DevOps practitioners looking to learn how to work with GitHub Actions,Developers looking to learn how to automate tasks and workflows with GitHub Actions