Files
filtry_www/PROMPT_CLOUDFLARE.md
2026-09-18 21:20:58 +02:00

4.7 KiB

Prompt: automatyczne wdrażanie aplikacji do Cloudflare Pages

Chcę przygotować i wdrożyć tę aplikację webową do Cloudflare Pages.

Pracuj bez GitHuba — użyj lokalnego repozytorium Git oraz Wrangler CLI.

Wymagania

  1. Przeanalizuj projekt i ustal:

    • gdzie znajduje się główny plik aplikacji,
    • jakie pliki są potrzebne do uruchomienia strony,
    • czy projekt ma repozytorium Git,
    • jaki jest aktualny remote Git,
    • czy istnieje folder przeznaczony do publikacji.
  2. Przygotuj folder wdrożeniowy, np. wersja1 albo dist.

    Folder powinien zawierać wyłącznie pliki potrzebne do działania aplikacji:

    • index.html,
    • pliki CSS,
    • pliki JavaScript,
    • pliki CSV/JSON,
    • obrazy i inne używane zasoby.
  3. Jeśli aplikacja korzysta z plików znajdujących się poza folderem wdrożeniowym, przygotuj synchronizację. Przed każdym wdrożeniem kopiuj aktualne pliki źródłowe do folderu publikacji, aby lokalna i opublikowana wersja nie różniły się.

  4. Skonfiguruj Cloudflare Pages przez Wrangler:

    • bez GitHuba,
    • bez GitHub Actions,
    • użyj istniejącego projektu Pages, jeśli istnieje,
    • jeśli projekt nie istnieje, przygotuj polecenie jego utworzenia.
  5. Przygotuj skrypt deploy-cloudflare.ps1, który:

    • wskazuje folder wdrożeniowy,
    • synchronizuje pliki źródłowe,
    • używa wrangler.cmd, a nie wrangler.ps1,
    • działa przy zablokowanej polityce wykonywania skryptów PowerShell,
    • automatycznie dodaje C:\Program Files\nodejs do PATH, jeśli Node.js jest zainstalowany,
    • pobiera nazwę projektu Cloudflare z lokalnej konfiguracji Git,
    • obsługuje opcjonalny Cloudflare Account ID,
    • jasno zgłasza błędy.
  6. Nie zapisuj tokenów Cloudflare w kodzie ani w repozytorium.

    Logowanie powinno używać:

    & "$env:APPDATA\npm\wrangler.cmd" login
    

    Jeśli Node.js lub Wrangler nie są dostępne:

    • sprawdź instalację Node.js,
    • zainstaluj Node.js LTS,
    • zainstaluj Wrangler,
    • sprawdź działanie poleceniem:
    & "$env:APPDATA\npm\wrangler.cmd" --version
    
  7. Przygotuj instalator install-cloudflare-hook.ps1, który:

    • instaluje hook w .git/hooks,
    • ustawia lokalne core.hooksPath,
    • nadaje hookowi prawa wykonywania,
    • działa na Windows,
    • uruchamia wdrożenie automatycznie przed każdym git push.

    Użyj hooka pre-push, ponieważ post-push może nie być wykonywany poprawnie przez Git for Windows.

  8. Przygotuj plik hooks/pre-push, który:

    • uruchamia deploy-cloudflare.ps1,
    • zatrzymuje push, jeśli wdrożenie się nie powiedzie,
    • wyświetla komunikaty:
    Cloudflare Pages: wdrażanie przed pushem…
    Cloudflare Pages: wdrożenie zakończone
    
  9. Przygotuj instrukcję uruchomienia:

    Set-Location "ŚCIEŻKA_DO_PROJEKTU"
    
    & "$env:APPDATA\npm\wrangler.cmd" login
    

    Sprawdź projekty:

    & "$env:APPDATA\npm\wrangler.cmd" pages project list --json
    

    Ustaw nazwę projektu:

    git config --local cloudflare.pagesProject "NAZWA_PROJEKTU"
    

    Opcjonalnie ustaw Account ID:

    git config --local cloudflare.accountId "ACCOUNT_ID"
    

    Zainstaluj hook:

    powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\install-cloudflare-hook.ps1"
    

    Wykonaj pierwszy deploy:

    powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\deploy-cloudflare.ps1"
    
  10. Po wdrożeniu sprawdź:

    • czy Cloudflare utworzył nowy deployment,
    • jaki jest adres *.pages.dev,
    • czy aplikacja działa w przeglądarce,
    • czy aktualne zmiany są widoczne,
    • czy folder wdrożeniowy zawiera właściwe pliki.

    Historię deploymentów sprawdź poleceniem:

    & "$env:APPDATA\npm\wrangler.cmd" pages deployment list --project-name "NAZWA_PROJEKTU" --json
    
  11. Wykonaj test końcowy:

    git add .
    git commit -m "Konfiguracja automatycznego wdrażania Cloudflare"
    git push origin main
    

    Potwierdź, że przed pushem uruchomił się Wrangler i że Cloudflare utworzył nowy deployment.

  12. Jeśli git push nie działa:

    • sprawdź osobno uwierzytelnienie do repozytorium Git,
    • nie zakładaj, że problem dotyczy Cloudflare,
    • jeśli push jest niemożliwy, wykonaj tymczasowy deploy bezpośrednio przez Wrangler,
    • wyraźnie poinformuj, że lokalny commit może istnieć, ale nie być wysłany do zdalnego repozytorium.

Pracuj samodzielnie, wykonuj zmiany w plikach, testuj je i nie kończ zadania na samej instrukcji. Nie twórz GitHuba ani GitHub Actions, chyba że użytkownik wyraźnie o to poprosi.