-
Create IAM Role for EC2 and AWS CodeDeploy
EC2RoleForS3
CodeDeployRole
-
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
-
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:
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
#!/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
#!/bin/bash
cd /home/ec2-user/server sudo pm2 delete Frontend sudo pm2 start server.js --name Frontend