Communitygithub.com

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

Compétence et tutoriel Codex pour déployer des sites statiques front-end sur Aliyun sans nom de domaine personnalisé.

Qu'est-ce que aliyun-static-site-deploy-skill ?

Cette compétence permet de déployer facilement des sites statiques front-end sur Aliyun (Alibaba Cloud) en deux routes principales : EMAS Serverless (hébergement statique) pour un aperçu sans nom de domaine, et OSS + GitHub Actions pour une automatisation reproductible. Elle guide l'utilisateur étape par étape, depuis l'inspection du projet jusqu'à la vérification de l'URL publique, en insistant sur les actions manuelles nécessaires (connexion Aliyun, vérification d'identité, création de clés d'accès, etc.). La compétence traite les secrets et tokens avec précaution en demandant à l'utilisateur de les saisir directement dans l'interface GitHub ou Aliyun, jamais dans le chat. Elle inclut des scripts Python prêts à l'emploi pour vérifier la configuration et générer les workflows GitHub Actions, et fournit des critères de succès précis (code HTTP 200, réponse HTML, assets accessibles). Principaux publics cibles : développeurs front-end et DevOps utilisant Codex (ou des agents similaires) pour automatiser le déploiement sur Aliyun.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Déploiement de Site Statique sur Aliyun

Règles Fondamentales

  • Considérez l'hébergement statique EMAS Serverless comme la route de prévisualisation par défaut sans nom de domaine. Elle fournit à l'utilisateur une URL Aliyun par défaut et évite le problème courant de téléchargement lié au domaine OSS par défaut.
  • Considérez OSS + GitHub Actions comme la route d'automatisation reproductible uniquement si l'utilisateur demande explicitement une automatisation GitHub vers Aliyun, possède déjà ou peut créer un bucket OSS, et comprend que l'URL finale doit être vérifiée pour s'ouvrir en ligne sous forme de HTML.
  • Ne prétendez pas que la connexion à Aliyun, la vérification d'identité réelle, l'activation de services payants, la création de clés d'accès (AccessKey), la double authentification GitHub (2FA), ou la confirmation de facturation peuvent être automatisées. Interrompez et demandez à l'utilisateur d'effectuer ces étapes.
  • Ne demandez jamais à l'utilisateur de coller ALIYUN_ACCESS_KEY_SECRET, des tokens GitHub, des mots de passe ou des captures d'écran de paiement dans le chat. Demandez-lui de saisir les secrets directement dans les secrets GitHub ou l'interface Aliyun/GitHub.

Première Décision

Avant d'écrire le code de déploiement, choisissez la route et dites-la explicitement :

RouteUtilisation QuandNiveau d'AutomatisationRisque
Hébergement statique EMASPas de nom de domaine, prévisualisation novice, l'utilisateur peut utiliser la console AliyunL'agent prépare les fichiers et guide les étapes console ; l'utilisateur gère la connexion/paiement/téléversement si nécessaireL'interface console peut changer et peut nécessiter un téléversement manuel
Workflow OSSL'utilisateur souhaite une automatisation Codex X GitHub X Aliyun ; le bucket OSS et la clé d'accès peuvent être préparésL'agent peut générer le workflow, pousser le code, déclencher l'intégration continue et vérifier l'URLLes domaines OSS par défaut peuvent forcer le téléchargement du HTML sauf si les métadonnées ou l'hébergement statique sont corrects

Si l'utilisateur dit seulement "没有域名先给客户看" (pas de nom de domaine, montrez d'abord au client), suivez d'abord les conseils EMAS. Si l'utilisateur dit "自动上线" (mise en ligne automatique), "XgitX阿里云" (XgitX Aliyun), "GitHub 自动部署" (déploiement automatique GitHub), ou "以后反复更新" (mises à jour répétées futures), utilisez les scripts du workflow OSS mais expliquez le risque de vérification du téléchargement par navigateur avant de continuer.

Workflow

  1. Inspectez le projet :
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project .
    
  2. Expliquez la route de déploiement en une phrase :
    • OSS : "Utilisation de GitHub Actions pour téléverser vers Aliyun OSS, et vérification que le navigateur n'affiche pas un fichier téléchargé."
    • EMAS : "D'abord, utilisez l'hébergement statique EMAS d'Aliyun pour obtenir une URL d'aperçu sans nom de domaine."
  3. Si l'utilisateur n'a pas préparé l'accès Aliyun, lisez references/secrets-hand-off.md et demandez-lui de compléter la connexion/paiement/clé d'accès/secrets GitHub. Utilisez les captures d'écran fournies pour expliquer où cliquer.
  4. Uniquement pour l'automatisation OSS, générez le workflow GitHub Actions :
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/prepare_oss_workflow.py --project . --force
    
  5. Vérifiez à nouveau le workflow généré et le projet local :
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project . --strict
    
  6. Effectuez un commit et un push du projet vers GitHub si l'utilisateur l'a demandé et si les identifiants sont disponibles. Si Git LFS est mal installé, utilisez la sortie du script pour expliquer la correction au lieu de réessayer aveuglément.
  7. Une fois le déploiement terminé, vérifiez l'URL publique :
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/verify_deployed_url.py "$ALIYUN_SITE_URL"
    

Secrets GitHub Requis

Pour le workflow OSS inclus, demandez à l'utilisateur de créer ces secrets de dépôt sur GitHub :

  • ALIYUN_ACCESS_KEY_ID
  • ALIYUN_ACCESS_KEY_SECRET
  • ALIYUN_OSS_BUCKET
  • ALIYUN_OSS_ENDPOINT

Facultatif :

  • ALIYUN_SITE_URL pour la vérification lors du déploiement. Exemple : https://your-bucket.oss-cn-hangzhou.aliyuncs.com/index.html

Pour EMAS, utilisez les noms de secrets exacts requis par le script de déploiement EMAS de ce projet. Si aucun script EMAS n'existe, n'inventez pas de noms de secrets factices ; guidez l'utilisateur à travers le téléversement manuel de l'hébergement statique EMAS ou créez un script spécifique au projet après avoir confirmé le chemin officiel de l'API/SDK.

Limite Humaine

Arrêtez-vous et appelez l'utilisateur en cas d'absence de l'un des éléments suivants :

  • Le compte Aliyun n'est pas connecté, pas vérifié en nom réel, ou demande un paiement.
  • L'espace de service EMAS, le bucket OSS ou l'hébergement statique n'a pas été créé.
  • La clé d'accès (AccessKey) n'est pas créée.
  • Les secrets GitHub ne sont pas renseignés.
  • GitHub demande un nom d'utilisateur/token ou une confirmation à deux facteurs.

Montrez à l'utilisateur les champs exacts à remplir, mais ne recevez pas de secrets dans le chat.

Critères de Succès du Déploiement

Considérez le déploiement comme incomplet tant que toutes les vérifications ne sont pas passées :

  • Le dépôt GitHub contient la source du site web et les instructions de déploiement.
  • Pour l'automatisation OSS, le dépôt GitHub contient le workflow généré sous .github/workflows/deploy-aliyun-static-site.yml et l'exécution des Actions réussit sur main ou workflow_dispatch.
  • Pour le téléversement manuel/hébergement statique EMAS, la console Aliyun affiche les fichiers de la page d'accueil téléversés et une URL publique par défaut.
  • L'URL publique renvoie un code HTTP 200 ou 3xx suivi de 200.
  • La réponse est du HTML, pas un texte d'erreur XML ou des métadonnées forçant le téléchargement.
  • La page contient <html et un titre non vide ou un texte de corps visible.
  • Les principaux assets référencés par la page d'accueil sont des URLs publiques ou distantes.

Références

  • Lisez references/secrets-hand-off.md lorsque l'utilisateur a besoin d'aide étape par étape pour les secrets Aliyun/GitHub.
  • Lisez references/troubleshooting.md lorsque le déploiement ou la vérification d'URL échoue.

Skills associés