parth-0710 / AWS-CICD

Deploy a ReactJS Application To AWS EC2 Instance Using AWS CodePipeline.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

  1. Create IAM Role for EC2 and AWS CodeDeploy

    EC2RoleForS3

    CodeDeployRole

  2. Create EC2 Instance , Attach that EC2 Role and Install CodeDepoloy Agent

    sudo yum update

    sudo yum install ruby

    sudo yum install wget

    wget https://aws-codedeploy-us-east-1.s3.amazonaws.com/latest/install

    chmod +x ./install

    sudo ./install auto

  3. AWS CodePipeline following steps:

    Step 1: CodePipeline

    Step 2: Code Source (CodeCommit or Github)

    Step 3: Skip Build(Feature)

    Step 4: Choose Code Depoloy

appspec.yml file structure:


appspec.yml

version: 0.0 os: linux files:

  • source: / destination: /home/ec2-user/server hooks: AfterInstall:
    • location: afterinstall.sh timeout: 300 ApplicationStart:
    • location: applicationstart.sh timeout: 300

afterinstall.sh

#!/bin/bash

cd /home/ec2-user/server curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash - yum -y install nodejs npm

#Remove Unused Code

rm -rf node_modules rm -rf build

#Install node_modules & Make Build and install PM2

npm -f install npm run build npm install -g pm2


applicationstart.sh

#!/bin/bash

cd /home/ec2-user/server sudo pm2 delete Frontend sudo pm2 start server.js --name Frontend

About

Deploy a ReactJS Application To AWS EC2 Instance Using AWS CodePipeline.


Languages

Language:JavaScript 37.0%Language:HTML 32.8%Language:CSS 17.7%Language:Shell 12.4%