Skip to content

Merge pull request #17 from PU-Track/main #5

Merge pull request #17 from PU-Track/main

Merge pull request #17 from PU-Track/main #5

Workflow file for this run

name: Build and Deploy Backend Server
on:
push:
branches:
- deploy
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Log in to DockerHub
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
- name: Build Docker image
run: docker build -t 13155a1/putrack-server:latest .
- name: Push Docker image to DockerHub
run: docker push 13155a1/putrack-server:latest
- name: Set up SSH access to EC2
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }}
- name: Connect to EC2 and run new image
run: |
ssh -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'EOF'
echo "🛑 Stopping existing container..."
sudo docker stop putrack-container || true
sudo docker rm putrack-container || true
echo "🐳 Pulling latest image..."
sudo docker pull 13155a1/putrack-server:latest
echo "🚀 Running new container..."
sudo docker run -d --name putrack-container -p 8080:8080 13155a1/putrack-server:latest
echo "✅ Deployment completed!"
EOF