47 lines
1.2 KiB
Bash
Executable File
47 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Dispute Protocol Deployment Script
|
|
# This script builds and deploys the dispute protocol site to a remote server
|
|
|
|
set -e
|
|
|
|
# Colors for output
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Configuration
|
|
SSH_USER=${1:-$USER}
|
|
SSH_HOST=${2:-"example.com"}
|
|
DEPLOY_PATH=${3:-"/var/www/dispute-protocol"}
|
|
BUILD_DIR="public"
|
|
|
|
# Check if Hugo is installed
|
|
if ! command -v hugo &> /dev/null; then
|
|
echo -e "${RED}Error: Hugo is not installed. Please install Hugo first.${NC}"
|
|
echo "Visit https://gohugo.io/installation/ for installation instructions."
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}Building site...${NC}"
|
|
hugo --minify
|
|
|
|
# Check if build succeeded
|
|
if [ ! -d "$BUILD_DIR" ]; then
|
|
echo -e "${RED}Error: Build failed. The '$BUILD_DIR' directory doesn't exist.${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}Deploying to $SSH_USER@$SSH_HOST:$DEPLOY_PATH...${NC}"
|
|
|
|
# Create directory if it doesn't exist
|
|
ssh $SSH_USER@$SSH_HOST "mkdir -p $DEPLOY_PATH"
|
|
|
|
# Deploy using rsync
|
|
rsync -avz --delete $BUILD_DIR/ $SSH_USER@$SSH_HOST:$DEPLOY_PATH
|
|
|
|
echo -e "${GREEN}Deployment completed successfully!${NC}"
|
|
echo -e "${YELLOW}NOTE: Make sure your web server is configured correctly to serve the site.${NC}"
|
|
|
|
exit 0 |