Deploy to user home junohub directory

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
root 2026-02-13 20:17:07 +05:00
parent 31c1fd6a2d
commit 91132d805d

View File

@ -3,8 +3,8 @@ name: build-deploy-junohub-ec2
env: env:
IMAGE_NAME: junohub-app IMAGE_NAME: junohub-app
CONTAINER_NAME: junohub-app CONTAINER_NAME: junohub-app
# Directory on the EC2 instance where app + compose live # Directory name (under the EC2 user's home) where app + compose live
REMOTE_DIR: /junohub REMOTE_DIR: junohub
on: on:
workflow_dispatch: workflow_dispatch:
@ -69,27 +69,27 @@ jobs:
- name: Setup directories on server - name: Setup directories on server
run: | run: |
ssh -i ssh_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'ENDSSH' ssh -i ssh_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'ENDSSH'
# Create directory for docker-compose file, .env and image tar # Create directory for docker-compose file, .env and image tar under the EC2 user's home
mkdir -p ${{ env.REMOTE_DIR }} mkdir -p ~/{{ env.REMOTE_DIR }}
echo "✅ Remote directory ensured at ${{ env.REMOTE_DIR }}" echo "✅ Remote directory ensured at ~/{{ env.REMOTE_DIR }}"
ENDSSH ENDSSH
- name: Copy deployment files to server - name: Copy deployment files to server
run: | run: |
# Copy docker-compose (app + Postgres), and .env # Copy docker-compose (app + Postgres), and .env
scp -i ssh_key.pem -o StrictHostKeyChecking=no docker-compose.yml ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ env.REMOTE_DIR }}/docker-compose.yml scp -i ssh_key.pem -o StrictHostKeyChecking=no docker-compose.yml ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:~/{{ env.REMOTE_DIR }}/docker-compose.yml
scp -i ssh_key.pem -o StrictHostKeyChecking=no .env ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ env.REMOTE_DIR }}/.env scp -i ssh_key.pem -o StrictHostKeyChecking=no .env ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:~/{{ env.REMOTE_DIR }}/.env
# Copy application image tar # Copy application image tar
echo "Copying Docker image to server..." echo "Copying Docker image to server..."
scp -i ssh_key.pem -o StrictHostKeyChecking=no docker/junohub-app_latest.tar ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ env.REMOTE_DIR }}/junohub-app_latest.tar scp -i ssh_key.pem -o StrictHostKeyChecking=no docker/junohub-app_latest.tar ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:~/{{ env.REMOTE_DIR }}/junohub-app_latest.tar
echo "✅ Successfully copied Docker image to server" echo "✅ Successfully copied Docker image to server"
- name: Deploy with rolling update - name: Deploy with rolling update
run: | run: |
ssh -i ssh_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'ENDSSH' ssh -i ssh_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'ENDSSH'
set -e set -e
cd ${{ env.REMOTE_DIR }} cd ~/{{ env.REMOTE_DIR }}
# Basic disk space check (do not touch volumes) # Basic disk space check (do not touch volumes)
echo "=== DISK SPACE CHECK ===" echo "=== DISK SPACE CHECK ==="