Merge branch 'dev'
Some checks failed
Deploy Production (admin.merchbay.app) / deploy (push) Failing after 1m57s

This commit is contained in:
Frank John Begornia
2025-12-21 04:15:54 +08:00

View File

@@ -32,6 +32,10 @@ jobs:
- name: Setup SSH and Deploy
shell: sh
env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
run: |
mkdir -p ~/.ssh
chmod 700 ~/.ssh
@@ -42,49 +46,43 @@ jobs:
cd /workspace/repo
scp -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key merchbay_admin.tar.gz docker-compose.yml "$DEPLOY_USER@$DEPLOY_HOST:/tmp/"
ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key "$DEPLOY_USER@$DEPLOY_HOST" "
DEPLOY_DIR='/var/www/merchbay_admin'
mkdir -p \$DEPLOY_DIR
cd /tmp
docker load < merchbay_admin.tar.gz
echo 'Removing old merchbay_admin images'
docker images | grep merchbay_admin | grep -v "\$(docker images merchbay_admin:latest -q)" | awk '{print \$3}' | xargs -r docker rmi -f || true
cp docker-compose.yml \$DEPLOY_DIR/
cd \$DEPLOY_DIR
# .env file should already exist on server with all required variables
# Required: DB_*, IMAGES_DIRECTORY, PRODUCTION_PRIVATE_SERVER
# If it doesn't exist, deployment will fail (this is intentional for security)
docker compose down || true
docker image prune -f
docker network inspect traefik-public >/dev/null 2>&1 || docker network create traefik-public
docker network inspect crew-app-net >/dev/null 2>&1 || docker network create crew-app-net
export DOMAIN=admin.merchbay.app
export APP_URL=https://admin.merchbay.app
docker compose up -d
sleep 10
docker compose exec -T app php artisan config:cache
docker compose exec -T app php artisan route:cache
rm -f /tmp/merchbay_admin.tar.gz /tmp/docker-compose.yml
echo 'Aggressive Docker cleanup to reclaim space'
docker image prune -af --filter "until=24h" || true
docker container prune -f || true
docker volume prune -f || true
docker builder prune -af --filter "until=48h" || true
echo 'Docker space usage:'
docker system df
echo 'Production deployment completed successfully!'
echo 'Application available at: https://admin.merchbay.app'
"
env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key "$DEPLOY_USER@$DEPLOY_HOST" 'bash -s' << 'ENDSSH'
set -e
DEPLOY_DIR="/var/www/merchbay_admin"
mkdir -p "$DEPLOY_DIR"
cd /tmp
docker load < merchbay_admin.tar.gz
echo "Removing old merchbay_admin images"
CURRENT_IMAGE=$(docker images merchbay_admin:latest -q)
docker images | grep merchbay_admin | grep -v "$CURRENT_IMAGE" | awk '{print $3}' | xargs -r docker rmi -f || true
cp docker-compose.yml "$DEPLOY_DIR/"
cd "$DEPLOY_DIR"
docker compose down || true
docker image prune -f
docker network inspect traefik-public >/dev/null 2>&1 || docker network create traefik-public
docker network inspect crew-app-net >/dev/null 2>&1 || docker network create crew-app-net
export DOMAIN=admin.merchbay.app
export APP_URL=https://admin.merchbay.app
docker compose up -d
sleep 10
docker compose exec -T app php artisan config:cache
docker compose exec -T app php artisan route:cache
rm -f /tmp/merchbay_admin.tar.gz /tmp/docker-compose.yml
echo "Aggressive Docker cleanup to reclaim space"
docker image prune -af --filter "until=24h" || true
docker container prune -f || true
docker volume prune -f || true
docker builder prune -af --filter "until=48h" || true
echo "Docker space usage:"
docker system df
echo "Production deployment completed successfully!"
echo "Application available at: https://admin.merchbay.app"
ENDSSH
- name: Health Check
shell: sh