Skip to content

Trigger ci/cd

Trigger ci/cd #65

Workflow file for this run

name: Deploy to EC2 on Push to Main
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
env:
EC2_HOST: ec2-51-21-37-63.eu-north-1.compute.amazonaws.com
EC2_USER: ec2-user
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.EC2_SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
- name: Add EC2 to known hosts
run: |
ssh-keyscan -H $EC2_HOST >> ~/.ssh/known_hosts
- name: Deploy to EC2, pull latest code, restart services
run: |
ssh $EC2_USER@$EC2_HOST << 'EOF'
cd /home/ec2-user/OJ-Project
git pull origin main
npm install --prefix server
pm2 restart all
echo "Updating compiler container..."
cd /home/ec2-user/OJ-Project/compiler
docker compose down
docker compose up --build -d
EOF