ci: авто-деплой в прод через Gitea Actions (push в main)
Some checks failed
Deploy / deploy (push) Failing after 8m6s
Some checks failed
Deploy / deploy (push) Failing after 8m6s
Self-hosted act_runner в host-режиме на app-хосте 1.32 (label "deploy"). При пуше в main workflow клонирует коммит и запускает scripts/deploy.sh: синхронизация кода → пересборка/перезапуск бэкенд-сервисов → миграции → сборка фронтенда → выкладка статики на CT 102 (reverse-proxy) с бэкапом. Доступ к Proxmox-хосту для CT 102 — через секрет PVE_PASSWORD. Больше ручных rsync/rebuild — деплой по git push. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
37
.gitea/workflows/deploy.yml
Normal file
37
.gitea/workflows/deploy.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
name: Deploy
|
||||
|
||||
# Авто-деплой в прод при пуше в main.
|
||||
# Джоба выполняется на self-hosted runner'е в host-режиме прямо на app-хосте
|
||||
# 1.32 (label "deploy"), поэтому имеет доступ к его docker и сети до Proxmox.
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch: {}
|
||||
|
||||
concurrency:
|
||||
group: deploy-prod
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: deploy
|
||||
steps:
|
||||
- name: Клонировать текущий коммит
|
||||
run: |
|
||||
set -euo pipefail
|
||||
SRC="$(mktemp -d)"
|
||||
echo "SRC=$SRC" >> "$GITHUB_ENV"
|
||||
git clone --depth 1 --branch main \
|
||||
https://gitea.jze9.ru/jze9/anti-plagiarism.git "$SRC"
|
||||
|
||||
- name: Деплой (бэкенд 1.32 + фронтенд CT 102)
|
||||
env:
|
||||
PVE_PASSWORD: ${{ secrets.PVE_PASSWORD }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cd "$SRC"
|
||||
bash scripts/deploy.sh
|
||||
|
||||
- name: Убрать временный чекаут
|
||||
if: always()
|
||||
run: rm -rf "${SRC:-/tmp/none}"
|
||||
Reference in New Issue
Block a user