Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/faizan35/github_actions_learning
https://github.com/faizan35/github_actions_learning
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/faizan35/github_actions_learning
- Owner: faizan35
- Created: 2024-07-22T16:05:32.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-02T11:21:35.000Z (5 months ago)
- Last Synced: 2024-08-02T12:53:53.415Z (5 months ago)
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GitHub Actions Learning Syllabus
## Module 1: Introduction to GitHub Actions
#### [1.1 What is GitHub Actions?](./01-Module/1.1-What-is-github-action.md)
- Overview
- Use Cases
- Pricing and Limits#### [1.2 Understanding Workflows](./01-Module/1.2-Understanding-Workflows.md)
- Workflow Basics
- YAML Syntax
- Workflow Files and Configuration#### [1.3 Key Concepts](./01-Module/1.3-Key-Concepts.md)
- Jobs
- Steps
- Actions
- Runners#### [**Project 1:** Create a Simple CI Workflow](./01-Module/1.4-Project-1.md)
- Set up a repository
- Create a basic workflow to run on push events
- Include steps to checkout code, set up a programming environment, and run a simple script or test## Module 2: Core Concepts and Syntax
#### [2.1 Events](./02-Module/2.1-Events.md)
- Types of Events (push, pull_request, schedule, etc.)
- Event Triggers#### [2.2 Jobs](./02-Module/2.2-Jobs-Steps.md)
- Defining Jobs
#### [2.3 Steps](./02-Module/2.3-Steps.md)
- Running Steps Sequentially
- Using Shell Scripts in Steps#### [2.4 Actions](./02-Module/2.4-Actions.md)
- Types of Actions (Docker, JavaScript, Composite)
- Using Actions from the Marketplace
- Creating Custom Actions#### [**Project 2:** Multi-Job Workflow](./02-Module/2.4-Project-2.md)
- Create a workflow with multiple jobs running in parallel
- Use different types of actions in each job
- Add conditionals to run specific steps based on outcomes of previous steps## Module 3: Advanced Workflow Features
#### [3.1 Matrix Builds](./03-Module/3.1-Matrix-Builds.md)
- Matrix Strategy Basics
- Dynamic Matrix Configurations#### [3.2 Caching and Artifacts](./03-Module/3.2-Caching-Artifacts.md)
- Using Caches for Dependencies
- Storing and Retrieving Artifacts#### 3.3 Secrets and Environment Variables
- Managing Secrets in Workflows
- Using Environment Variables Securely#### **Project 3:** Matrix Build Workflow
- Set up a matrix build for multiple environments
- Implement caching to speed up builds
- Store build artifacts for later use## Module 4: Continuous Integration and Delivery (CI/CD)
#### 4.1 CI Basics
- Setting Up Continuous Integration
- Running Tests Automatically#### 4.2 CD Basics
- Continuous Delivery vs. Continuous Deployment
- Deployment Strategies#### 4.3 Integrating with External Services
- Notifications (Slack, Email)
- Deploying to Cloud Providers (AWS, Azure, GCP)#### **Project 4:** Complete CI/CD Pipeline
- Create a workflow for CI/CD
- Run tests and build on every push
- Deploy to a staging environment
- Notify via Slack on deployment success/failure## Module 5: Security and Compliance
#### 5.1 Secure Workflows
- Best Practices for Secure Workflows
- Handling Secrets and Sensitive Information#### 5.2 Compliance
- Audit Logs
- Dependency Scanning and Vulnerability Management#### 5.3 Code Scanning and Analysis
- Integrating Code Scanning Tools
- Automated Code Quality Checks#### **Project 5:** Secure and Compliant Workflow
- Set up a secure workflow with proper secret handling
- Implement code scanning and quality checks
- Generate audit logs for workflow runs## Module 6: Optimizing and Scaling Workflows
#### 6.1 Workflow Optimization
- Reducing Workflow Run Times
- Optimizing Job Execution Order#### 6.2 Scaling Workflows
- Using Self-Hosted Runners
- Managing Runner Fleets#### 6.3 Monitoring and Debugging
- Debugging Workflow Failures
- Monitoring Workflow Performance#### **Project 6:** Optimized and Scalable Workflow
- Optimize an existing workflow to reduce run time
- Set up self-hosted runners for resource-intensive jobs
- Implement monitoring for workflow performance## Module 7: Advanced Use Cases and Customization
#### 7.1 Custom Actions
- Creating and Publishing Custom Actions
- Best Practices for Reusable Actions#### 7.2 Advanced CI/CD Pipelines
- Multi-Repository Workflows
- Cross-Project Dependencies#### 7.3 Integration with Other DevOps Tools
- Terraform and Infrastructure as Code (IaC)
- Kubernetes and Container Orchestration#### **Project 7:** Custom Action and Advanced CI/CD Pipeline
- Create and publish a custom action
- Implement an advanced CI/CD pipeline with multi-repo dependencies
- Integrate with Terraform for infrastructure deployment## Final Project: Real-World CI/CD Implementation
- Design and implement a comprehensive CI/CD pipeline for a multi-service application
- Use advanced features like matrix builds, custom actions, and multi-repo workflows
- Ensure security, compliance, and scalability throughout the pipeline---