Skip to content

DevOps Workshop - Continuous Integration and Continuous Deployment (CI/CD) with AWS and Kubernetes

Notifications You must be signed in to change notification settings

waleedmagdy/devops_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOps Workshop CI/CD

DevOps Workshop - Continuous Integration and Continuous Deployment (CI/CD) with AWS and Kubernetes

Welcome to the DevOps Workshop on Continuous Integration and Continuous Deployment (CI/CD) with AWS and Kubernetes! This repository contains all the necessary resources, code examples, and documentation to help you understand and implement CI/CD practices using popular tools and platforms.

Table of Contents

Introduction

In today's fast-paced software development world, Continuous Integration and Continuous Deployment (CI/CD) have become essential practices to ensure smooth, efficient, and reliable software delivery. CI/CD enables development teams to automate the build, testing, and deployment processes, resulting in faster feedback loops and more frequent releases with fewer errors.

This workshop is designed to give you hands-on experience with setting up CI/CD pipelines using a powerful stack consisting of GitHub Actions, AWS (Amazon Web Services), EKS (Amazon Elastic Kubernetes Service), ArgoCD, Terraform, ECR (Amazon Elastic Container Registry), Grafana, and Prometheus. By the end of this workshop, you will have a clear understanding of how to integrate CI/CD into your projects using this robust stack, fostering a collaborative and streamlined development workflow.

Getting Started

To get started with the workshop, follow these steps:

  1. Clone this repository to your local machine.
  2. Review the workshop agenda to understand the topics covered.
  3. Ensure you have all the prerequisites installed and set up on your system.
  4. Follow the step-by-step instructions provided in the workshop documentation to implement CI/CD pipelines for sample projects.

Prerequisites

Before starting the workshop, you should have the following prerequisites installed and configured on your local machine:

  • Git
  • Docker
  • Any modern code editor (e.g., Visual Studio Code, Sublime Text, etc.)
  • A GitHub account
  • An AWS account with administrative privileges

Workshop Agenda

The workshop covers the following topics:

  1. Introduction to CI/CD and its benefits.
  2. Setting up a version-controlled project with Git and GitHub Actions.
  3. Building Docker containers and pushing them to ECR.
  4. Writing unit tests and test automation.
  5. Setting up Kubernetes with EKS.
  6. Configuring ArgoCD for automated deployments.
  7. Implementing Infrastructure as Code (IaC) with Terraform.
  8. Monitoring applications with Grafana and Prometheus.

Each topic will have its dedicated folder within this repository, containing code examples, configurations, and step-by-step instructions.

Stack

The workshop utilizes the following technologies and tools:

  • GitHub Actions: CI/CD platform integrated with GitHub for automating workflows.
  • AWS: Cloud services provider for hosting applications and managing infrastructure.
  • EKS: Amazon Elastic Kubernetes Service for deploying, managing, and scaling containerized applications.
  • ArgoCD: Declarative GitOps continuous delivery tool for Kubernetes.
  • Terraform: Infrastructure as Code (IaC) tool for provisioning and managing AWS resources.
  • ECR: Amazon Elastic Container Registry for securely storing and managing Docker images.
  • Grafana: Monitoring and visualization platform for metrics.
  • Prometheus: Open-source monitoring and alerting toolkit.

How to Use This Repository

This repository is organized into folders, each corresponding to a specific topic or module of the workshop. Inside each folder, you will find:

  • Code examples: Sample code to demonstrate concepts discussed in the workshop.
  • Documentation: Detailed instructions and explanations for each workshop module.
  • Resources: Additional resources, links, and references related to the topic.

You can navigate through the folders, read the documentation, and follow the instructions to complete the workshop.

Contributing

If you find any issues with the workshop content, have suggestions for improvements, or want to contribute additional examples or resources, we welcome your contributions! Please open an issue or submit a pull request with your changes.


We hope you find this DevOps Workshop on CI/CD with AWS and Kubernetes valuable and practical. If you have any questions or feedback, feel free to contact us via GitHub issues or email.

Happy coding and deploying!

The DevOps Team

About

DevOps Workshop - Continuous Integration and Continuous Deployment (CI/CD) with AWS and Kubernetes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published