fix(deploy): Update script with corrected environment loading

This commit is contained in:
fullsizemalt 2026-01-08 01:21:52 -08:00
parent b39cd90cf1
commit df208548f5

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# CA Grow Ops Manager - Automated Deployment Script # CA Grow Ops Manager - Automated Deployment Script
# Usage: ./deploy.sh [env] # Usage: ./deploy.sh [env] [branch]
# Environments: test (default), prod # Environments: test (default), prod, preview
set -e # Exit on error set -e # Exit on error
@ -40,7 +40,7 @@ case "$ENV" in
ENV_DISPLAY="🟣 PREVIEW (Veridian-Preview on Nexus-Vector)" ENV_DISPLAY="🟣 PREVIEW (Veridian-Preview on Nexus-Vector)"
;; ;;
*) *)
echo "Error: Unknown environment '$ENV'. Use 'test' or 'prod'." echo "Error: Unknown environment '$ENV'. Use 'test', 'prod', or 'preview'."
exit 1 exit 1
;; ;;
esac esac
@ -50,6 +50,7 @@ echo "=============================================="
echo "Target: $ENV_DISPLAY" echo "Target: $ENV_DISPLAY"
echo "Host: $USER@$HOST" echo "Host: $USER@$HOST"
echo "Path: $DEPLOY_PATH" echo "Path: $DEPLOY_PATH"
echo "Branch: $BRANCH"
echo "==============================================" echo "=============================================="
echo "" echo ""
@ -96,7 +97,7 @@ echo -e "${BLUE}Step 4: Syncing repository on $HOST...${NC}"
ssh "$USER@$HOST" " ssh "$USER@$HOST" "
if [ ! -d $DEPLOY_PATH/.git ]; then if [ ! -d $DEPLOY_PATH/.git ]; then
echo ' Cloning repository...' echo ' Cloning repository...'
git clone $REPO_URL $DEPLOY_PATH git clone -b $BRANCH $REPO_URL $DEPLOY_PATH
else else
echo ' Pulling latest changes...' echo ' Pulling latest changes...'
cd $DEPLOY_PATH && git fetch origin && git checkout $BRANCH && git pull origin $BRANCH cd $DEPLOY_PATH && git fetch origin && git checkout $BRANCH && git pull origin $BRANCH
@ -117,14 +118,14 @@ if [ "$HAS_ENV" = "no" ]; then
ssh "$USER@$HOST" "cat > $ENV_FILE << EOF ssh "$USER@$HOST" "cat > $ENV_FILE << EOF
# Database # Database
DB_PASSWORD=${DB_PASSWORD} 109: DB_PASSWORD=${DB_PASSWORD}
110:
# JWT 111: # JWT
JWT_SECRET=${JWT_SECRET} 112: JWT_SECRET=${JWT_SECRET}
113:
# Environment 114: # Environment
NODE_ENV=production 115: NODE_ENV=production
PORT=${PORT} 116: PORT=${PORT}
EOF" EOF"
echo -e "${GREEN}✓ Environment file created${NC}" echo -e "${GREEN}✓ Environment file created${NC}"
echo -e "${YELLOW}IMPORTANT: New secrets generated on $HOST.${NC}" echo -e "${YELLOW}IMPORTANT: New secrets generated on $HOST.${NC}"
@ -137,17 +138,16 @@ echo ""
echo -e "${BLUE}Step 6: Deploying services...${NC}" echo -e "${BLUE}Step 6: Deploying services...${NC}"
ssh "$USER@$HOST" " ssh "$USER@$HOST" "
cd $DEPLOY_PATH cd $DEPLOY_PATH
# Ensure correct port mapping if needed (override via env var or separate compose file in future)
# For now relying on standard docker-compose.yml
echo ' Building containers...' echo ' Building containers...'
docker compose build # Use --env-file to ensure variables are loaded
docker compose --env-file docker-compose.env build
echo ' Starting services...' echo ' Starting services...'
if [ "$ENV" = "preview" ]; then if [ \"$ENV\" = \"preview\" ]; then
docker compose -f docker-compose.yml -f docker-compose.preview.yml up -d --build docker compose --env-file docker-compose.env -f docker-compose.yml -f docker-compose.preview.yml up -d --build
else else
docker compose up -d --build docker compose --env-file docker-compose.env up -d --build
fi fi
" "
echo -e "${GREEN}✓ Services deployed${NC}" echo -e "${GREEN}✓ Services deployed${NC}"