Files
vizitka-site/.gitea/workflows/deploy.yml
T
aibrashandClaude Sonnet 5.5 8de0a05848
deploy / deploy (push) Successful in 9s
CI: деплой через ssh и git pull, README со стилистикой и заметками
- .gitea/workflows/deploy.yml: при пуше в main заходит на сервер по ssh и делает git pull
- deploy/: конфиг nginx (root /opt/vizitka-site/web) и скрипт разовой настройки сервера
- tools/: генераторы страниц архитектуры и проектов (раньше лежали вне репозитория)
- README: стилистика сайта, устройство, деплой, заметки для следующих сессий

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 16:48:04 +05:00

27 lines
1.3 KiB
YAML

# CI: при пуше в main заходим на сервер по ssh и делаем git pull.
# Всё остальное уже настроено на сервере (nginx раздаёт /opt/vizitka-site/web, см. deploy/setup-server.sh).
# Нужен один секрет: DEPLOY_SSH_KEY (приватный ключ с доступом к серверу).
name: deploy
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Подключение к серверу и git pull
env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
run: |
command -v ssh >/dev/null || { apt-get update -qq && apt-get install -y -qq openssh-client; }
umask 077
install -d "$HOME/.ssh"
printf '%s\n' "$DEPLOY_SSH_KEY" > "$HOME/.ssh/id_deploy"
# отпечаток ключа сервера закреплён: подмена сервера не пройдёт
echo "192.168.10.112 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFLwAGOvgF5ZSBiZ9YRe78gT9HN1MeESQIaM6Aou/Ud" > "$HOME/.ssh/known_hosts"
ssh -i "$HOME/.ssh/id_deploy" -o IdentitiesOnly=yes -o BatchMode=yes -o StrictHostKeyChecking=yes \
root@192.168.10.112 'cd /opt/vizitka-site && git pull --ff-only && git log -1 --oneline'