Преминете към основното съдържание

Уебсайт — Деплоймент

Уебсайтът на Dictaro се деплойва автоматично към Cloudflare Pages чрез GitHub Actions при всеки push към main branch, засягащ файлове в website/.

Deployment Pipeline

GitHub Actions Workflow

Файл: .github/workflows/deploy-website.yml

Тригери

ТригерУсловие
push на mainСамо при промени в website/** или самия workflow файл
workflow_dispatchРъчно стартиране от GitHub UI

Стъпки

  1. Checkoutactions/checkout@v4
  2. Setup Node.jsactions/setup-node@v4 с Node.js 22
  3. Install dependenciesnpm ci в website/ директорията
  4. Buildnpm run build (изпълнява astro build)
  5. Deploycloudflare/wrangler-action@v3 с команда pages deploy ./dist --project-name=dictaro-website

Необходими GitHub Secrets

SecretОписание
CLOUDFLARE_API_TOKENAPI token с права за Cloudflare Pages deploy
CLOUDFLARE_ACCOUNT_IDCloudflare Account ID (44bbf46a904d9e5b18331aed0c846cc9)

Cloudflare Pages конфигурация

ПараметърСтойност
Project namedictaro-website
Production branchmain
Build output directorydist/
Custom domaindictaro.ai
DNS Zone IDe949d0c303c70b77ff85eb1c7fe1262f
Account ID44bbf46a904d9e5b18331aed0c846cc9

Build output

При astro build се генерират статични HTML файлове за всички 25 езика и 5 страници:

dist/
├── index.html # EN (default, без prefix)
├── pricing/index.html
├── download/index.html
├── privacy/index.html
├── terms/index.html
├── bg/index.html # BG
├── bg/pricing/index.html
├── bg/download/index.html
├── ...
├── uk/index.html # UK (последен език)
├── uk/terms/index.html
├── sitemap-0.xml # Автоматичен sitemap
└── sitemap-index.xml

Общо: ~125 HTML файла (25 езика x 5 страници).

Build-time Data Fetching

По време на build, Astro извлича данни от външни API-та:

ИзточникИзползва се отОписание
Stripe Pricing APIHero, Pricing компонентиМесечна и годишна цена за Pro план
Stats API (pro.dictaro.ai/stats/public)Stats компонентБрой потребители, часове диктовка, спестени часове

Ако API-то не е достъпно при build, стойностите по подразбиране са нули.

Ръчен deploy

cd website
npm ci
npm run build
npx wrangler pages deploy ./dist --project-name=dictaro-website

Необходими environment variables:

  • CLOUDFLARE_API_TOKEN
  • CLOUDFLARE_ACCOUNT_ID

Rollback

Cloudflare Pages поддържа deployment history. Rollback може да се направи от Cloudflare Dashboard:

  1. Отвори Cloudflare Dashboard → Pages → dictaro-website
  2. Избери предишен deployment
  3. Натисни "Rollback to this deployment"