From 29622f54ef53789d6624846694f4c413746c2cac Mon Sep 17 00:00:00 2001 From: Stephen Minakian Date: Tue, 15 Jul 2025 16:35:58 -0600 Subject: [PATCH] Add deployment workflow --- .github/workflows/deploy.yml | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..b0eb397 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,61 @@ +name: Deploy Apartment Dashboard + +on: + push: + branches: [ main ] + workflow_dispatch: + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build application + run: npm run build + + - name: Build Docker image + run: | + docker build -t apartment-dashboard:${{ github.sha }} . + docker tag apartment-dashboard:${{ github.sha }} apartment-dashboard:latest + + - name: Deploy to server + run: | + # Copy files to deployment directory + sudo mkdir -p /media/stephen/Storage_Linux/infrastructure/services/apartments + sudo cp -r . /media/stephen/Storage_Linux/infrastructure/services/apartments/ + + # Navigate to deployment directory + cd /media/stephen/Storage_Linux/infrastructure/services/apartments + + # Stop existing container if running + sudo docker compose down || true + + # Start new container + sudo docker compose up -d + + # Clean up old images + sudo docker image prune -f + + - name: Verify deployment + run: | + # Wait a moment for container to start + sleep 10 + + # Check if container is running + cd /media/stephen/Storage_Linux/infrastructure/services/apartments + sudo docker compose ps + + # Test endpoint (optional) + curl -f http://localhost:80 || echo "Container may still be starting..." \ No newline at end of file