CI: деплой через ssh и git pull, README со стилистикой и заметками
deploy / deploy (push) Successful in 9s
deploy / deploy (push) Successful in 9s
- .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>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# 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'
|
||||
Reference in New Issue
Block a user