Enhance deployment workflows with additional input parameters and setup scripts
Some checks failed
Deploy Development / deploy (push) Has been cancelled

This commit is contained in:
Frank John Begornia
2025-12-16 13:18:29 +08:00
parent af0d8cd9ac
commit a4171330e5
6 changed files with 452 additions and 32 deletions

View File

@@ -5,6 +5,15 @@ on:
tags:
- 'v*'
workflow_dispatch:
inputs:
tag:
description: 'Docker image tag (e.g., v1.0.0, latest)'
required: false
default: 'latest'
push_to_registry:
description: 'Push to registry?'
required: false
default: 'true'
jobs:
build-and-push:

View File

@@ -5,6 +5,15 @@ on:
branches:
- dev
workflow_dispatch:
inputs:
skip_health_check:
description: 'Skip health check?'
required: false
default: 'false'
run_migrations:
description: 'Run database migrations?'
required: false
default: 'true'
jobs:
deploy:
@@ -47,17 +56,8 @@ jobs:
cp docker-compose.yml \$DEPLOY_DIR/
cd \$DEPLOY_DIR
cat > .env <<'ENVEOF'
APP_ENV=staging
APP_DEBUG=false
APP_URL=https://dev.merchbay.app
DB_HOST=$DEV_DB_HOST
DB_PORT=${DEV_DB_PORT:-3306}
DB_DATABASE=$DEV_DB_DATABASE
DB_USERNAME=$DEV_DB_USERNAME
DB_PASSWORD=$DEV_DB_PASSWORD
DOMAIN=dev.merchbay.app
ENVEOF
# .env file should already exist on server with all secrets
# If it doesn't exist, deployment will fail (this is intentional for security)
docker compose down || true
docker image prune -f
@@ -78,11 +78,6 @@ jobs:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
DEV_DB_HOST: ${{ secrets.DEV_DB_HOST }}
DEV_DB_PORT: ${{ secrets.DEV_DB_PORT }}
DEV_DB_DATABASE: ${{ secrets.DEV_DB_DATABASE }}
DEV_DB_USERNAME: ${{ secrets.DEV_DB_USERNAME }}
DEV_DB_PASSWORD: ${{ secrets.DEV_DB_PASSWORD }}
- name: Health Check
shell: sh

View File

@@ -48,17 +48,8 @@ jobs:
cp docker-compose.yml \$DEPLOY_DIR/
cd \$DEPLOY_DIR
cat > .env <<'ENVEOF'
APP_ENV=production
APP_DEBUG=false
APP_URL=https://merchbay.com
DB_HOST=$PROD_DB_HOST
DB_PORT=${PROD_DB_PORT:-3306}
DB_DATABASE=$PROD_DB_DATABASE
DB_USERNAME=$PROD_DB_USERNAME
DB_PASSWORD=$PROD_DB_PASSWORD
DOMAIN=merchbay.com
ENVEOF
# .env file should already exist on server with all secrets
# If it doesn't exist, deployment will fail (this is intentional for security)
docker compose down || true
docker image prune -f
@@ -79,11 +70,6 @@ jobs:
PROD_DEPLOY_SSH_KEY: ${{ secrets.PROD_DEPLOY_SSH_KEY }}
PROD_DEPLOY_USER: ${{ secrets.PROD_DEPLOY_USER }}
PROD_DEPLOY_HOST: ${{ secrets.PROD_DEPLOY_HOST }}
PROD_DB_HOST: ${{ secrets.PROD_DB_HOST }}
PROD_DB_PORT: ${{ secrets.PROD_DB_PORT }}
PROD_DB_DATABASE: ${{ secrets.PROD_DB_DATABASE }}
PROD_DB_USERNAME: ${{ secrets.PROD_DB_USERNAME }}
PROD_DB_PASSWORD: ${{ secrets.PROD_DB_PASSWORD }}
- name: Health Check
shell: sh