All checks were successful
Deploy Remont Site / deploy (push) Successful in 57s
- переименованы заметки (Планировка, Гостиная-кухня, Спальня) и картинки - вычищены таблицы, добавлен README-индекс - .site/: генератор сайта из markdown (node+sharp → nginx), дизайн из assets - .gitea/workflows/deploy-remont.yml: авто-сборка и деплой по пушу в папку Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
59 lines
2.6 KiB
YAML
59 lines
2.6 KiB
YAML
name: Deploy Remont Site
|
||
|
||
# Автосборка сайта remont.digital-home.site из заметок «Ремонт квартира».
|
||
# Триггер — пуш в эту папку. Сайт генерируется внутри docker build (node → nginx),
|
||
# поэтому раннеру нужны только docker + git (как в jam-looper).
|
||
|
||
on:
|
||
push:
|
||
branches: [master, main]
|
||
paths:
|
||
- 'Ремонт квартира/**'
|
||
|
||
jobs:
|
||
deploy:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Собрать образ
|
||
run: |
|
||
# ascii-контекст (путь с кириллицей и пробелом → в простой каталог)
|
||
rm -rf /tmp/remont-ctx
|
||
cp -r "Ремонт квартира" /tmp/remont-ctx
|
||
docker build -t remont-web:latest -f /tmp/remont-ctx/.site/Dockerfile /tmp/remont-ctx
|
||
echo "✅ Образ собран"
|
||
|
||
- name: Перезапустить контейнер
|
||
run: |
|
||
docker rm -f remont-web >/dev/null 2>&1 || true
|
||
docker run -d --name remont-web --restart unless-stopped \
|
||
--network coolify \
|
||
--label traefik.enable=true \
|
||
--label "traefik.http.routers.remont-http.rule=Host(\`remont.digital-home.site\`)" \
|
||
--label traefik.http.routers.remont-http.entrypoints=http \
|
||
--label traefik.http.routers.remont-http.middlewares=remont-redirect \
|
||
--label traefik.http.middlewares.remont-redirect.redirectscheme.scheme=https \
|
||
--label "traefik.http.routers.remont-https.rule=Host(\`remont.digital-home.site\`)" \
|
||
--label traefik.http.routers.remont-https.entrypoints=https \
|
||
--label traefik.http.routers.remont-https.tls=true \
|
||
--label traefik.http.routers.remont-https.tls.certresolver=letsencrypt \
|
||
--label traefik.http.routers.remont-https.service=remont \
|
||
--label traefik.http.services.remont.loadbalancer.server.port=80 \
|
||
remont-web:latest
|
||
|
||
- name: Проверить, что сайт жив
|
||
run: |
|
||
for i in $(seq 1 10); do
|
||
code=$(curl -s -o /dev/null -w '%{http_code}' https://remont.digital-home.site/ || echo 000)
|
||
if [ "$code" = "200" ]; then
|
||
echo "✅ https://remont.digital-home.site отвечает 200"
|
||
exit 0
|
||
fi
|
||
sleep 4
|
||
done
|
||
echo "❌ Сайт отвечает $code"
|
||
docker logs remont-web --tail 30
|
||
exit 1
|