chore(deploy): 🔧 Update production deployment script with pre/post-deployment steps and enhanced environment variable management

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Quinn Ftw 2026-02-19 00:58:03 -08:00
parent 524c6bb396
commit dbd4ff8a18

View file

@ -49,7 +49,7 @@ check_prerequisites() {
log_step "Checking prerequisites..."
# Check commands
local required_cmds=("docker" "pnpm" "rsync" "ssh")
local required_cmds=("docker" "bun" "rsync" "ssh")
for cmd in "${required_cmds[@]}"; do
if ! command -v "$cmd" &>/dev/null; then
log_error "$cmd not installed"
@ -92,7 +92,7 @@ build_images() {
# Build apps first
log_info "Building frontend apps..."
pnpm build
bun run build
# Build webmap-router image
log_info "Building webmap-router image..."
@ -132,8 +132,8 @@ deploy_to_vps() {
# Upload docker-compose and configs
log_info "Uploading configuration files..."
rsync -avz --delete \
"$PROJECT_ROOT/infrastructure/" \
"${CONFIG_VPS_USER}@${CONFIG_VPS_HOST}:${DEPLOY_PATH}/infrastructure/"
"$PROJECT_ROOT/deployments/" \
"${CONFIG_VPS_USER}@${CONFIG_VPS_HOST}:${DEPLOY_PATH}/deployments/"
# Upload built apps
log_info "Uploading built apps..."
@ -142,9 +142,9 @@ deploy_to_vps() {
"${CONFIG_VPS_USER}@${CONFIG_VPS_HOST}:${DEPLOY_PATH}/features/"
# Upload .env if exists
if [ -f "$PROJECT_ROOT/infrastructure/env/.env.prod" ]; then
if [ -f "$PROJECT_ROOT/deployments/env/.env.prod" ]; then
log_info "Uploading production environment file..."
scp "$PROJECT_ROOT/infrastructure/env/.env.prod" \
scp "$PROJECT_ROOT/deployments/env/.env.prod" \
"${CONFIG_VPS_USER}@${CONFIG_VPS_HOST}:${DEPLOY_PATH}/.env"
else
log_warn "No .env.prod file found - you'll need to configure manually"
@ -180,14 +180,14 @@ start_services() {
local ssh_cmd
ssh_cmd=$(config_get_ssh_cmd "$CONFIG_VPS_HOST" "$CONFIG_VPS_USER")
$ssh_cmd "cd $DEPLOY_PATH && docker compose -f infrastructure/docker/docker-compose.prod.yml up -d"
$ssh_cmd "cd $DEPLOY_PATH && docker compose -f deployments/docker/docker-compose.yml up -d"
log_info "Waiting for services to start..."
sleep 10
# Check service health
log_info "Checking service health..."
$ssh_cmd "cd $DEPLOY_PATH && docker compose -f infrastructure/docker/docker-compose.prod.yml ps"
$ssh_cmd "cd $DEPLOY_PATH && docker compose -f deployments/docker/docker-compose.yml ps"
log_success "Services started"
}