Publicar el hub en Cloudflare Pages¶
Requisitos¶
- Cuenta de Cloudflare con acceso a la organización.
- Repositorio
VortexPlayDev/vortex-play-docs. - Python 3.12+ para builds locales.
Build local¶
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
mkdocs build --strict
El resultado queda en site/.
Opción A: integración directa con GitHub¶
Es la opción más simple y no requiere secretos en GitHub.
- En Cloudflare, ir a Workers & Pages → Create → Pages → Connect to Git.
- Seleccionar el repositorio
VortexPlayDev/vortex-play-docs. - Configurar:
- Production branch:
main - Build command:
pip install -r requirements.txt && mkdocs build --strict - Build output directory:
site - Guardar y desplegar.
- Configurar el dominio personalizado en Custom domains.
Cada push a main publica producción. Las ramas y PR pueden generar previews si se habilitan.
Opción B: GitHub Actions + Wrangler¶
El workflow .github/workflows/docs.yml ya está preparado.
- Crear el proyecto en Cloudflare:
npx wrangler pages project create vortex-play-docs --production-branch=main
- Crear un API token de Cloudflare con permiso Cloudflare Pages: Edit.
- Agregar los secretos en GitHub:
gh secret set CLOUDFLARE_API_TOKEN --repo VortexPlayDev/vortex-play-docs
gh secret set CLOUDFLARE_ACCOUNT_ID --repo VortexPlayDev/vortex-play-docs
- Hacer push a
maino ejecutar el workflow manualmente.
El workflow instala dependencias, ejecuta mkdocs build --strict y despliega site/ con Wrangler usando wrangler.toml.
Proteger la documentación con Cloudflare Access¶
Si el hub debe ser interno:
- En Cloudflare Zero Trust, crear una aplicación de tipo Self-hosted.
- Asociar el dominio del hub.
- Definir una política de acceso, por ejemplo email OTP para el dominio de la empresa.
- Verificar que solo los usuarios autorizados puedan abrir el sitio.
Verificación¶
- Abrir la URL de producción y comprobar navegación y búsqueda.
- Revisar que los enlaces internos funcionen.
- Confirmar que el workflow termina en verde.
- Verificar que Access bloquea el acceso sin autenticación, si está habilitado.
Rollback¶
Cloudflare Pages conserva los despliegues anteriores. Si una publicación falla:
- Ir al proyecto en Cloudflare Pages.
- Abrir Deployments.
- Seleccionar el despliegue anterior estable.
- Promoverlo a producción o hacer rollback desde la interfaz.
Notas¶
- No guardar tokens de Cloudflare en el repositorio.
- El token debe limitarse al proyecto y tener el mínimo permiso necesario.
- Si se cambia el nombre del proyecto, actualizar
wrangler.tomly el workflow.