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
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