Communitygithub.com

784697524-ux/aliyun-static-site-deploy-skill

Skill y tutorial de Codex para desplegar sitios estáticos frontend en Aliyun sin un dominio personalizado.

¿Qué es aliyun-static-site-deploy-skill?

Este skill de Codex permite a desarrolladores desplegar sitios web frontend estáticos en Aliyun (阿里云) sin necesidad de un dominio personalizado. Proporciona dos rutas principales: EMAS Serverless static hosting para una previsualización rápida sin dominio propio, y OSS con GitHub Actions para automatización repetible. El skill guía al usuario paso a paso: inspecciona el proyecto local, decide la ruta de despliegue según las necesidades del usuario, genera workflows de GitHub Actions cuando corresponde, y verifica que la URL pública devuelva HTML correctamente en lugar de forzar la descarga del archivo. Está diseñado para Codex (agente AI de programación) y maneja de forma segura las credenciales de Aliyun y GitHub, pidiendo al usuario que las configure directamente en las interfaces de seguridad en lugar de exponerlas en el chat. También incluye scripts auxiliares para verificar la configuración antes y después del despliegue.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add 784697524-ux/aliyun-static-site-deploy-skill

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Despliegue de Sitio Estático en Aliyun

Reglas Principales

  • Tratar el alojamiento estático de EMAS Serverless como la ruta de previsualización predeterminada para novatos sin dominio. Le proporciona al usuario una URL predeterminada de Aliyun y evita el problema común de descarga de archivos del dominio predeterminado de OSS.
  • Tratar OSS + GitHub Actions como la ruta de automatización repetible solo cuando el usuario quiera explícitamente automatización de GitHub a Aliyun, ya tenga o pueda crear un bucket OSS, y entienda que la URL final debe verificarse para que se abra en línea como HTML.
  • No fingir que el inicio de sesión en Aliyun, la verificación de identidad real, la activación de servicios de pago, la creación de AccessKey, la autenticación de dos factores de GitHub o la confirmación de facturación se pueden automatizar. Pausar y pedir al usuario que complete esos pasos.
  • Nunca pedir al usuario que pegue ALIYUN_ACCESS_KEY_SECRET, tokens de GitHub, contraseñas o capturas de pantalla de pago en el chat. Pedirle que escriba los secretos directamente en GitHub Secrets o en la interfaz de Aliyun/GitHub.

Primera Decisión

Antes de escribir el código de despliegue, decidir la ruta y decirla explícitamente:

RutaCuándo UsarlaNivel de AutomatizaciónRiesgo
Alojamiento estático EMASSin dominio personalizado, previsualización para novatos, el usuario puede manejar la consola de AliyunEl agente prepara los archivos y guía los pasos en la consola; el usuario maneja inicio de sesión/pago/subida si es necesarioLa interfaz de la consola puede cambiar y puede requerir subida manual
Flujo de trabajo OSSEl usuario quiere automatización Codex X GitHub X Aliyun; se puede preparar un bucket OSS y AccessKeyEl agente puede generar el flujo de trabajo, subir código, activar CI y verificar la URLLos dominios predeterminados de OSS pueden descargar HTML a menos que los metadatos o el alojamiento estático estén bien configurados

Si el usuario solo dice "没有域名先给客户看", usar primero la guía de EMAS. Si el usuario dice "自动上线", "XgitX阿里云", "GitHub 自动部署", o "以后反复更新", usar los scripts del flujo de trabajo OSS pero explicar el riesgo de verificación de descarga del navegador antes de continuar.

Flujo de Trabajo

  1. Inspeccionar el proyecto:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project .
    
  2. Explicar la ruta de despliegue en una frase:
    • OSS: "Usar GitHub Actions para subir a Aliyun OSS y verificar que el navegador no descargue el archivo."
    • EMAS: "Primero usar el alojamiento estático de EMAS de Aliyun para obtener una URL de previsualización sin dominio."
  3. Si el usuario no ha preparado el acceso a Aliyun, leer references/secrets-hand-off.md y pedirle que complete inicio de sesión/pago/AccessKey/GitHub Secrets de Aliyun. Usar capturas de pantalla incluidas al explicar dónde hacer clic.
  4. Solo para automatización OSS, generar el flujo de trabajo de GitHub Actions:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/prepare_oss_workflow.py --project . --force
    
  5. Verificar el flujo de trabajo generado y el proyecto local nuevamente:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project . --strict
    
  6. Confirmar/subir el proyecto a GitHub si el usuario lo pidió y hay credenciales disponibles. Si Git LFS está mal instalado, usar la salida del script para explicar la solución en lugar de reintentar a ciegas.
  7. Después de que el despliegue termine, verificar la URL pública:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/verify_deployed_url.py "$ALIYUN_SITE_URL"
    

Secretos de GitHub Requeridos

Para el flujo de trabajo OSS incluido, pedir al usuario que cree estos secretos de repositorio en GitHub:

  • ALIYUN_ACCESS_KEY_ID
  • ALIYUN_ACCESS_KEY_SECRET
  • ALIYUN_OSS_BUCKET
  • ALIYUN_OSS_ENDPOINT

Opcional:

  • ALIYUN_SITE_URL para verificación durante el despliegue. Ejemplo: https://your-bucket.oss-cn-hangzhou.aliyuncs.com/index.html

Para EMAS, usar los nombres exactos de secretos que requiere el script de despliegue EMAS de ese proyecto. Si no existe un script EMAS, no inventar nombres de secretos falsos; guiar al usuario en la subida manual del alojamiento estático EMAS o crear un script específico del proyecto después de confirmar la ruta de la API/SDK oficial.

Límite Humano

Detenerse y llamar al usuario cuando falte alguno de los siguientes:

  • La cuenta de Aliyun no ha iniciado sesión, no está verificada con identidad real o solicita pago.
  • El espacio de servicio EMAS, el bucket OSS o el alojamiento estático no se han creado.
  • No se ha creado AccessKey.
  • Los Secretos de GitHub no están completos.
  • GitHub solicita nombre de usuario/token o confirmación de dos factores.

Mostrar al usuario los campos exactos a completar, pero no recibir secretos en el chat.

Criterios de Éxito del Despliegue

Tratar el despliegue como incompleto hasta que todas las verificaciones pasen:

  • El repositorio de GitHub tiene los archivos fuente del sitio y las instrucciones de despliegue.
  • Para automatización OSS, el repositorio de GitHub tiene el flujo de trabajo generado en .github/workflows/deploy-aliyun-static-site.yml y la ejecución de Actions tiene éxito en main o workflow_dispatch.
  • Para subida manual/alojamiento estático EMAS, la consola de Aliyun muestra los archivos de la página de inicio subidos y una URL predeterminada pública.
  • La URL pública devuelve HTTP 200 o 3xx seguido de 200.
  • La respuesta es HTML, no texto de error XML ni metadatos de descarga forzada.
  • La página contiene <html y un título no vacío o texto visible del cuerpo.
  • Los activos clave referenciados por la página de inicio son URLs públicas o remotas.

Referencias

  • Leer references/secrets-hand-off.md cuando el usuario necesite ayuda paso a paso con los Secretos de Aliyun/GitHub.
  • Leer references/troubleshooting.md cuando falle el despliegue o la verificación de la URL.

Skills relacionados