/
romatur
/
rn-dev
Обзор
Документация
Войти
/
romatur
/
rn-dev
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scripts/deploy.sh
60 строк
1 KB
Roman.Turusov
update resume site & project readme
24 май 2026, 17:50
24 май 2026, 17:50
eed4fed
Код
Авторство
О чём код?
#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")/.." CONFIG="config.json" LOCAL_FILE="index.html" LOCAL_ASSETS="assets/" ENV_FILE="${DEPLOY_ENV_FILE:-.${DEPLOY_ENV_BASENAME:-env}}" if [[ -f "$ENV_FILE" ]]; then set -a # shellcheck disable=SC1090 source "$ENV_FILE" set +a fi if [[ ! -f "$CONFIG" ]]; then echo "Error: $CONFIG not found" >&2 exit 1 fi read_cfg() { python3 -c "import json,sys; print(json.load(open('$CONFIG'))$1)" } read_env_cfg() { local env_name env_name=$(read_cfg "$1") if [[ -z "${!env_name:-}" ]]; then echo "Error: $env_name is not set" >&2 exit 1 fi printf '%s' "${!env_name}" } SSH_NAME=$(read_env_cfg "['vps']['sshEnv']") VPS_USER=$(read_env_cfg "['vps']['userEnv']") VPS_HOST=$(read_env_cfg "['vps']['hostEnv']") REMOTE_PATH=$(read_env_cfg "['vps']['webDirEnv']") SSH_KEY="$HOME/.ssh/$SSH_NAME" REMOTE="$VPS_USER@$VPS_HOST" if [[ ! -f "$LOCAL_FILE" ]]; then echo "Error: $LOCAL_FILE not found" >&2 exit 1 fi echo "→ Deploying $LOCAL_FILE" rsync -avz --progress -e "ssh -i $SSH_KEY" "$LOCAL_FILE" "$REMOTE:$REMOTE_PATH" if [[ -d "$LOCAL_ASSETS" ]]; then echo "→ Deploying $LOCAL_ASSETS" rsync -avz --progress -e "ssh -i $SSH_KEY" "$LOCAL_ASSETS" "$REMOTE:${REMOTE_PATH%/}/assets/" fi echo "✓ Done → https://rn-dev.botsman.tech"