/
arseniy985
/
QuantaAI
Обзор
Документация
Войти
/
arseniy985
/
QuantaAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
scripts/deploy.sh
52 строки
2 KB
Arseniy
restore deploy password
26 апр 2026, 16:49
26 апр 2026, 16:49
6da6965
Код
Авторство
О чём код?
#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" REMOTE_SCRIPT="$SCRIPT_DIR/remote-deploy.sh" DEPLOY_TARGET="${1:-${QUANTA_DEPLOY_TARGET:-root@148.253.209.194}}" DEPLOY_PORT="${QUANTA_DEPLOY_PORT:-22}" DEPLOY_IDENTITY_FILE="${QUANTA_DEPLOY_IDENTITY_FILE:-}" DEPLOY_PASSWORD="${QUANTA_DEPLOY_PASSWORD:-iwIh957dX8DMf2B}" DEPLOY_DIR="${QUANTA_DEPLOY_DIR:-/var/www/quanta-ai.dev}" DEPLOY_BRANCH="${QUANTA_DEPLOY_BRANCH:-main}" DEPLOY_REPO="${QUANTA_DEPLOY_REPO:-git@github.com:arseniy985/quanta-frontend.git}" APP_IMAGE="${QUANTA_APP_IMAGE:-ghcr.io/arseniy985/quanta-frontend/app:main}" shell_quote() { printf "'%s'" "$(printf "%s" "$1" | sed "s/'/'\\\\''/g")" } if [ -z "$DEPLOY_TARGET" ]; then echo "Usage: scripts/deploy.sh user@host" >&2 echo "Or set QUANTA_DEPLOY_TARGET=user@host" >&2 exit 1 fi if [ ! -f "$REMOTE_SCRIPT" ]; then echo "Remote deploy script not found: $REMOTE_SCRIPT" >&2 exit 1 fi ssh_binary=(ssh) ssh_args=(-F /dev/null -p "$DEPLOY_PORT" -o StrictHostKeyChecking=no) if [ -n "$DEPLOY_IDENTITY_FILE" ]; then ssh_args+=(-i "$DEPLOY_IDENTITY_FILE") elif [ -n "$DEPLOY_PASSWORD" ]; then if ! command -v sshpass >/dev/null 2>&1; then echo "sshpass is required for password deploy. Install sshpass or set QUANTA_DEPLOY_IDENTITY_FILE." >&2 exit 1 fi ssh_binary=(sshpass -p "$DEPLOY_PASSWORD" ssh) ssh_args+=(-o PreferredAuthentications=password -o PubkeyAuthentication=no) fi remote_command="$( printf "QUANTA_DEPLOY_DIR=%s " "$(shell_quote "$DEPLOY_DIR")" printf "QUANTA_DEPLOY_BRANCH=%s " "$(shell_quote "$DEPLOY_BRANCH")" printf "QUANTA_DEPLOY_REPO=%s " "$(shell_quote "$DEPLOY_REPO")" printf "QUANTA_APP_IMAGE=%s " "$(shell_quote "$APP_IMAGE")" printf "bash -s" )" "${ssh_binary[@]}" "${ssh_args[@]}" "$DEPLOY_TARGET" "$remote_command" < "$REMOTE_SCRIPT"