Git and GitHub Actions
Duration : 4 Days (32 Hours)
Git and GitHub Actions Course Overview:
The Git and GitHub Actions certification is a comprehensive credential that confirms an individual’s expertise in version control with Git and the automation, customization, and execution of software development workflows through GitHub Actions. This certification assesses knowledge in creating repositories, branching, merging, conflict resolution, and workflow triggers within the GitHub platform. Industries rely on this certification to ensure an individual’s proficiency in these essential open-source tools, which facilitate change tracking in source code, team collaboration, and automation of deployment tasks. It is widely adopted by software development industries to streamline processes, enhance productivity, and uphold best practices in source code management.
Intended Audience:
• Software developers and engineers interested in mastering version control systems.
• DevOps professionals looking to automate software development workflows.
• IT professionals seeking to understand and implement CI/CD pipelines.
• Computer science students and programming enthusiasts learning about collaborative coding practices.
• Project managers overseeing software development projects.
• Quality assurance testers aiming to understand development workflows.
Learning Objectives of Git and GitHub Actions:
The key learning objectives of a Git and GitHub Actions course encompass:
- Mastering the core concepts and practices of Git, a renowned version control system.
- Becoming proficient in creating and managing Git repositories, tracking changes, comparing versions, and seamless collaboration with fellow developers.
- Implementing GitHub workflows effectively to perform tasks like building, testing, packaging, releasing, or deploying projects.
- Acquiring the skills to construct custom actions and execute them in response to specific GitHub events.
- Developing confidence in utilizing these tools to facilitate software development and Continuous Integration/Continuous Deployment (CI/CD) pipelines.
Module 1 – Git and GitHub
Getting Started with Git
Configuring Git
Project Setup
Working with Git Repositories
Staging Files and Creating Commits
Multiple Commits and Checking Out Snapshots
Reverting Changes with “git revert”
Resetting Code with “git reset”
Staging Multiple Files and Ignoring with gitignore
Understanding Branches
Working with Branches
Merging Branches
GitHub Introduction
Creating a GitHub Account
Creating a GitHub Repository
Connecting Local and Remote Repositories
Pushing Commits and Understanding Permissions
GitHub and Branches
Readme Files and Pulling Changes
Cloning Repositories
Making Changes as a Different User
GitHub Issues and Collborators
Working with Pull Requests
Understanding and Using Forks
Module 2 – GitHub Actions – Basic Building Blocks and Components
Key Components: Workflows, Jobs, Steps and More
Creating a First Workflow
Running the First Workflow
Onwards to a More Realistic Example
A New Workflow and The “push” Event
Using Actions in Workflows
Checking Out Code in Workflows
Configuring Actions
Adding More Workflow Job Steps
Failing Workflow and Analyzing Workflows
Adding Multiple Jobs
Jobs: In Parallel vs Sequential
Using Multiple Triggers (Events)
Expressions and Context Objects
Module 3 – Workflows and Events – Deep Dive
Which Events Can You Use?
Demo Project Setup
More on the “push” Event
Introducing Event Filters and Activity Types
Using Activity Types
Using Event Filters
Special Behaviour: Forks and Pull Request Events
Cancelling Workflows and Skipping Workflows
Module 4 – Building an Amazon EKS Cluster with AWS Fargate
Visual Overview of the Amazon EKS Architecture to be Built in Labs
IAM Authentication
Amazon VPC and AWS Networking Fundamentals
Different Methods to Create Cluster
High-Level Steps in Creating Cluster
Function of EKSCTL
Creating EKS Private Cluster
Module 5 – Job Artifacts and Outputs
Understanding Job Artifacts
Artifacts – An Example
Uploading Job Artifacts
Downloading Artifacts (Manually and Automatically)
Understanding Job Outputs
Job Outputs – An Example
Using Job Output in Other Jobs
The need for Dependency Caching
Caching Dependencies in Practice
Using and Invalidating Caches
Module 6 – Using Environment Variables and Secrets
Project Setup and Understanding Environment Variables
Providing Environment Variable Values
Demo: Creating a Database and Using Database Environment Variable Values
Using Environment Variables in Code and Workflows
Understanding and Using Secrets
Utilizing Repository Environments
Module 7 – Controlling Workflow and Job Execution
Understanding Conditional Steps and Jobs
Understanding a Problem
Controlling Execution via “if”
Working with Special Conditional Functions
Conditional Jobs
More “if” Examples
Ignoring Errors and Failures with “continue-on-error”
Understanding and Using Matrix Strategies
Including and Excluding Values (Matrix Strategy)
Saving Time and Code with Reusable Workflows
Adding Inputs to Reusable Workflows
Reusable Workflows and Secrets
Reusable Workflows Outputs
Module 8 – Jobs and Docker Containers
What are Containers?
Why Might You Want to Use Containers (with GitHub Actions)
Run Jobs in Containers
Service Containers -Theory
Adding Services (via Service Containers)
Communication Between Jobs and Service Containers
Module 9 – Building and Using Custom Actions
Why Custom Actions?
Understanding Different Types of Custom Actions
Creating Composite Actions
Using Custom Actions in Workflows
Adding Inputs to Custom Actions
Custom JavaScript Actions – Getting Started
Configuring JavaScript Actions
Adding Basic JavaScript Logic
Adding Action Inputs
Interacting with GitHub Actions Features
Java Script Actions and Outputs
Creating a Custom Docker Actions
Module 10 – Security and Permissions
Key Security Concerns
Understanding Script Injection Attacts
Increasing Actions Safety
Understanding permissions and Potential Issues
GITHUB_TOKEN and Managing Permissions\
Git and GitHub Actions Course Prerequisites:
• Fundamental knowledge of software development
• Basic understanding of Git and GitHub platform
• Familiarity with continuous integration/continuous deployment (CI/CD)
• Knowledge of writing code in languages like Node.js or Python
• Experience in working with GitHub workflows and actions.
Discover the perfect fit for your learning journey
Choose Learning Modality
Live Online
- Convenience
- Cost-effective
- Self-paced learning
- Scalability
Classroom
- Interaction and collaboration
- Networking opportunities
- Real-time feedback
- Personal attention
Onsite
- Familiar environment
- Confidentiality
- Team building
- Immediate application
Training Exclusives
This course comes with following benefits:
- Practice Labs.
- Get Trained by Certified Trainers.
- Access to the recordings of your class sessions for 90 days.
- Digital courseware
- Experience 24*7 learner support.
Got more questions? We’re all ears and ready to assist!