Pubblicazione (git + Cloudflare)
Comandi completi per portare questo sito da locale a online, dal repository fino al deploy su Cloudflare Pages.
1. Sviluppo locale
Sezione intitolata “1. Sviluppo locale”tar xzf openshift-networking.tar.gz && cd ocp-netnpm installnpm run dev # http://localhost:4321npm run build # output statico in ./dist2. Repository Git
Sezione intitolata “2. Repository Git”Inizializza e primo commit
Sezione intitolata “Inizializza e primo commit”git init -b maingit add .git commit -m "OpenShift networking docs"Autenticazione GitHub
Sezione intitolata “Autenticazione GitHub”GitHub non accetta più la password su HTTPS: serve un token o SSH.
Opzione A — Personal Access Token (HTTPS)
Crea il token su GitHub → Settings → Developer settings → Personal access tokens (fine-grained, o classic con scope repo), poi:
git config --global credential.helper osxkeychain # macOS: salva nel Keychaingit remote add origin https://github.com/helloiamgio/openshift-networking.gitgit push -u origin main# username: helloiamgio# password: <incolla il TOKEN, non la password>Opzione B — SSH (consigliata)
ls ~/.ssh/id_ed25519.pub 2>/dev/null || ssh-keygen -t ed25519 -C "giorgio" -f ~/.ssh/id_ed25519 -N ""pbcopy < ~/.ssh/id_ed25519.pub # copia la chiave, poi incollala su GitHub → SSH keysgit remote add origin git@github.com:helloiamgio/openshift-networking.gitssh -T git@github.com # verifica: "Hi helloiamgio!"git push -u origin mainOpzione C — GitHub CLI (crea repo e push in un colpo)
gh auth login # GitHub.com → HTTPS → autentica via browsergh repo create helloiamgio/openshift-networking --public --source=. --remote=origin --push3. Pubblicazione su Cloudflare Pages
Sezione intitolata “3. Pubblicazione su Cloudflare Pages”Opzione A — Git integration (consigliata, GitOps)
Sezione intitolata “Opzione A — Git integration (consigliata, GitOps)”Dashboard Cloudflare → Workers & Pages → Create → Pages → Connect to Git → seleziona il repo. Preset Astro:
- Build command:
npm run build - Build output directory:
dist
Ogni push su main rideploya automaticamente.
Opzione B — CLI wrangler (Direct Upload)
Sezione intitolata “Opzione B — CLI wrangler (Direct Upload)”npm run buildnpx wrangler loginnpx wrangler pages project create openshift-networking --production-branch mainnpx wrangler pages deploy dist --project-name=openshift-networkingOpzione C — CI/CD (già inclusa nel repo)
Sezione intitolata “Opzione C — CI/CD (già inclusa nel repo)”Le pipeline .github/workflows/deploy.yml e .gitlab-ci.yml fanno build + deploy a ogni push su main. Imposta i secret/variabili:
| Nome | Dove |
|---|---|
CLOUDFLARE_API_TOKEN |
token con permesso Cloudflare Pages: Edit |
CLOUDFLARE_ACCOUNT_ID |
ID account Cloudflare |
4. Dopo il deploy
Sezione intitolata “4. Dopo il deploy”Aggiorna site: in astro.config.mjs con l’URL finale del progetto Pages (es. https://openshift-networking.pages.dev), così sitemap e link canonici sono corretti. Poi commit + push.