Add core service deploy script
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SERVICE_NAME="${1:-}"
|
||||
|
||||
if [ -z "$SERVICE_NAME" ]; then
|
||||
echo "Usage: ./deploy-core-service.sh <service-name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CONFIG_FILE="/opt/appfactory/config/appfactory.env"
|
||||
source "$CONFIG_FILE"
|
||||
|
||||
export DOCKER_CONFIG="/tmp/.docker"
|
||||
mkdir -p "$DOCKER_CONFIG"
|
||||
|
||||
SERVICE_DIR="$WORKSPACE_DIR/$SERVICE_NAME"
|
||||
DEPLOY_DIR="$APPFACTORY_DIR/deploy"
|
||||
|
||||
if [ ! -d "$SERVICE_DIR" ]; then
|
||||
echo "Missing service directory: $SERVICE_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$SERVICE_DIR/Dockerfile" ]; then
|
||||
echo "Missing Dockerfile: $SERVICE_DIR/Dockerfile"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Updating source..."
|
||||
cd "$SERVICE_DIR"
|
||||
|
||||
git \
|
||||
-c safe.directory="$SERVICE_DIR" \
|
||||
fetch origin main
|
||||
|
||||
git \
|
||||
-c safe.directory="$SERVICE_DIR" \
|
||||
reset --hard origin/main
|
||||
|
||||
echo "Building image..."
|
||||
docker build --pull --no-cache -t "$SERVICE_NAME:latest" "$SERVICE_DIR"
|
||||
|
||||
echo "Recreating container..."
|
||||
cd "$DEPLOY_DIR"
|
||||
|
||||
docker compose \
|
||||
-f docker-compose.yml \
|
||||
-f apps-compose.yml \
|
||||
up -d --force-recreate "$SERVICE_NAME"
|
||||
|
||||
echo ""
|
||||
echo "DONE"
|
||||
echo "Service deployed: $SERVICE_NAME"
|
||||
Reference in New Issue
Block a user