Microservice Project
  • 🤓11 Microservice CICD Pipeline using Jenkins, EKS and CloudFormation
  • Installing Tools
  • 🤖Jenkins setup
    • Installing Plugins in jenkins
  • 🐳Docker Setup
  • 🏃‍♂️Continuous Integration with GitHub and Jenkins
  • 🏃‍♂️Continuous Deployment with EKS
    • Create Service Account, Role & Assign that role
  • 👷Project Structure & summary.
Powered by GitBook
On this page
  • Prerequisites
  • What is DevOps?
  • First Create a user in AWS IAM with any name
  • Let's Launch EC2 instances ☁️(amazon Linux image)

🤓11 Microservice CICD Pipeline using Jenkins, EKS and CloudFormation

This Project will help you learn how to implement continuous integration and continuous deployment using various DevOps tools like Jenkins, Elastic Kubernetes service, Docker, CloudFormation and Git

Prerequisites

  1. Linux and basic commands.

  2. General knowledge of the cloud, containerization and the above tools would be good to start. (No issues if you are new to it, you will learn along the way.


What is DevOps?

Development + Operations 🎉

DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

Understanding Microservices Architecture

Microservices architecture is a design approach where a single application is broken down into smaller, loosely coupled services that can be developed, deployed, and scaled independently. This modular structure enhances agility and scalability in software development.

Importance of Continuous Integration and Continuous Deployment

Continuous Integration (CI) and Continuous Deployment (CD) are crucial practices in modern software development. They promote automated testing, code integration, and deployment, leading to faster delivery, reduced errors, and improved collaboration among developers.

Overview of Jenkins, EKS, and CloudFormation

Jenkins is a popular automation server that facilitates CI/CD processes. Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes service for container orchestration, while CloudFormation enables the creation and management of AWS resources through code.


Let's Get Started

First Create a user in AWS IAM with any name

Attach Policies to the newly created user

AmazonEC2FullAccess

AmazonEKS_CNI_Policy

AmazonEKSClusterPolicy

AmazonEKSWorkerNodePolicy

AWSCloudFormationFullAccess

IAMFullAccess

One more policy we need to create with content as below

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "eks:*",
            "Resource": "*"
        }
    ]
}


Now we are going to launch Ubuntu instances:

Let's Launch EC2 instances ☁️(amazon Linux image)

  1. Click on Launch instance

  2. You will see a window with Amazon machine images(AMI) full of different operating systems and readymade software or CMS like WordPress but SELECT the Ubuntu

  3. Choose t2.large

  4. Now add storage (up to 25 GB) >> NO need for Storage >> Add Tags for clear identification: Name <tab>microservice >> In the SECURITY GROUP window we have to open some ports like 8080 for Jenkins and port 22 for SSH and some more port and click "Review and Launch" >> LAUNCH >> If you are a new user in new user and don't have any KeyPairs (needed for SSH login) download a KeyPair (name the key "DevOps Key" for reference 👍) >> Keep the .pem file safe we might need it.

  5. Wait for a few minutes and it will get Running with status checks passed 2/2


NextInstalling Tools

Last updated 1 year ago

To start we need to have source code you can either use yours if you have one or download/clone my GITHUB basic project. You can clone/use my if you don't have one.

Log into the & select EC2 service.

Your Instance will be launched and you will see a window with an instance in a pending state.

project
AWS console