Skip to content

Commit

Permalink
Add github actions ci cd pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
Kelphils committed May 17, 2024
1 parent 0a73d40 commit 9585c07
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Smart-Exchange-Deployment

on:
push:
branches: [main, master]

permissions:
id-token: write
contents: read

jobs:
Deploy:
name: Deploy to EC2
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: SSH and Deploy
env:
PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
HOSTNAME: ${{ secrets.EC2_REMOTE_HOST }}
USER_NAME: ubuntu

run: |
echo "$PRIVATE_KEY" > private_key
chmod 600 private_key
ssh -o StrictHostKeyChecking=no -i private_key ${USER_NAME}@${HOSTNAME} << 'EOF'
# Now we have got the access of EC2 and we will start the deploy.
cd /home/ubuntu/app/smartchange-backend-v1
git pull
sudo npm install
sudo systemctl restart smart
EOF
rm private_key
# - name: rsync deployments
# uses: burnett01/[email protected]
# with:
# switches: -avzr --delete
# path: ./*
# remote_path: /home/ubuntu/app/smartchange-backend-v1
# remote_host: ${{ secrets.EC2_REMOTE_HOST }}
# remote_user: ubuntu
# remote_key: private_key
# remote_port: 22

# - name: Stop smart service
# run: |
# ssh -o StrictHostKeyChecking=no -i private_key ubuntu@${{ secrets.EC2_REMOTE_HOST }} 'sudo systemctl stop smart'
# continue-on-error: true

# - name: Start smart service
# run: |
# ssh -o StrictHostKeyChecking=no -i private_key ubuntu@${{ secrets.EC2_REMOTE_HOST }} 'sudo systemctl start smart'
# continue-on-error: true

# - name: Clean up
# run: rm private_key
# if: always()

# on:
# push:
# branches: [main, master]

# jobs:
# Deploy:
# name: Deploy to EC2
# runs-on: ubuntu-latest

# steps:
# - uses: actions/checkout@v2
# - name: Build & Deploy
# env:
# PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
# HOSTNAME: ${{secrets.SSH_HOST}}
# USER_NAME: ${{secrets.USER_NAME}}

# run: |
# echo "$PRIVATE_KEY" > private_key && chmod 600 private_key
# ssh -o StrictHostKeyChecking=no -i private_key ${USER_NAME}@${HOSTNAME} '

# # Now we have got the access of EC2 and we will start the deploy .
# cd /home/ubuntu/<PROJECT_DIRECTORY> &&
# git checkout dev &&
# git fetch --all &&
# git reset --hard origin/dev &&
# git pull origin dev &&
# sudo npm i &&
# sudo npm run build &&
# sudo pm2 stop ./dist/index.js &&

0 comments on commit 9585c07

Please sign in to comment.