/
Paff
/
declarant
Обзор
Документация
Войти
/
Paff
/
declarant
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
_update_version.py
25 строк
1 KB
1pash1985-gif
chore: commit deployed source changes before Yandex OCR deploy
09 авг 2026, 23:56
09 авг 2026, 23:56
9777dcd
Код
Авторство
О чём код?
# -*- coding: utf-8 -*- import os import paramiko, sys sys.stdout.reconfigure(encoding='utf-8') HOST = os.environ.get('DEPLOY_HOST', '104.171.138.49') USER = os.environ.get('DEPLOY_USER', 'root') PASS = os.environ.get('DEPLOY_PASS') if not PASS: print('Set DEPLOY_PASS environment variable', file=sys.stderr) sys.exit(1) # Обновить version.json и VERSION; затем скопировать VERSION внутрь running-контейнера, # потому что /api/version читает PROJECT_ROOT/VERSION из образа. CMD = r"""cd /opt/declarant && VERSION="v$(git log -1 --format=%h) ($(date +"%Y-%m-%d %H:%M"))" && echo "{\"version\": \"$VERSION\"}" > web/frontend/dist/version.json && echo "$VERSION" > VERSION && docker cp VERSION declarant-app:/app/VERSION && docker exec declarant-app python -c "import os; print('in-container VERSION:', open('/app/VERSION').read().strip())" && echo "Version: $VERSION" """ client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(HOST, username=USER, password=PASS, timeout=60) stdin, stdout, stderr = client.exec_command(CMD, get_pty=True) for line in iter(stdout.readline, ''): print(line, end='', flush=True) ec = stdout.channel.recv_exit_status() client.close() print(f'Exit: {ec}')