diff --git a/deploy.sh b/deploy.sh index 00acfca..45adb7f 100755 --- a/deploy.sh +++ b/deploy.sh @@ -4,11 +4,28 @@ set -e # Default deployment directory DEPLOY_DIR="${1:-/opt/jrunner}" +# Safety checks +if [ -z "${DEPLOY_DIR}" ]; then + echo "Error: Deployment directory cannot be empty" + exit 1 +fi + +# Prevent deleting critical system directories +case "${DEPLOY_DIR}" in + /|/bin|/boot|/dev|/etc|/lib|/lib64|/proc|/root|/run|/sbin|/sys|/usr|/var|/home) + echo "Error: Cannot deploy to system directory: ${DEPLOY_DIR}" + exit 1 + ;; +esac + echo "Building jrunner..." ./gradlew build echo "Deploying to ${DEPLOY_DIR}..." -sudo rm -rf "${DEPLOY_DIR}" +if [ -d "${DEPLOY_DIR}" ]; then + echo "Removing existing deployment..." + sudo rm -rf "${DEPLOY_DIR}" +fi sudo mkdir -p "$(dirname "${DEPLOY_DIR}")" sudo unzip jrunner/build/distributions/jrunner.zip -d "$(dirname "${DEPLOY_DIR}")"