Communitygithub.com

Aliyun Static Site Deploy

Codex-Skill und Tutorial zum Bereitstellen statischer Frontend-Websites auf Aliyun ohne benutzerdefinierte Domain.

Was ist Aliyun Static Site Deploy?

Dieses Skill bietet eine vollständige Anleitung zur Bereitstellung statischer Frontend-Websites auf Aliyun, ohne dass eine benutzerdefinierte Domain erforderlich ist. Es unterstützt zwei Hauptwege: **EMAS Serverless Static Hosting** als Standardoption für Einsteiger (erzeugt eine von Aliyun bereitgestellte Standard-URL) und **OSS + GitHub Actions** als automatisierte Lösung für wiederholte Deployments. Der Skill erkennt die Projektumgebung, generiert bei Bedarf GitHub Actions Workflows und überprüft die bereitgestellte URL auf korrekte Anzeige (HTML-Inhalt, kein Download). Er ist für Codex optimiert, kann aber mit geringfügigen Anpassungen auch in anderen KI-Agenten-Umgebungen wie Claude Code oder Cursor verwendet werden. Wichtig: Benutzer müssen Aliyun-Login, Zahlungsaktivierung, AccessKey-Erstellung sowie GitHub Secrets manuell erledigen – der Skill automatisiert diese Schritte nicht, sondern leitet den Benutzer sicher durch den Prozess.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Aliyun Static Site Deploy?

Kernregeln

  • Betrachten Sie EMAS Serverless Static Hosting als den Standard-Weg für Einsteiger ohne Domain. Es liefert eine Aliyun-Standard-URL und vermeidet das häufige OSS-Download-Problem.
  • Betrachten Sie OSS + GitHub Actions als den wiederholbaren Automatisierungsweg nur dann, wenn der Benutzer explizit eine GitHub-zu-Aliyun-Automatisierung wünscht, bereits einen OSS-Bucket besitzt oder erstellen kann, und versteht, dass die endgültige URL als HTML inline geöffnet werden muss.
  • Tun Sie nicht so, als ob Aliyun-Login, Real-Name-Verifizierung, Aktivierung kostenpflichtiger Dienste, AccessKey-Erstellung, GitHub 2FA oder Zahlungsbestätigung automatisiert werden können. Halten Sie an und bitten Sie den Benutzer, diese Schritte selbst durchzuführen.
  • Fragen Sie den Benutzer niemals, ALIYUN_ACCESS_KEY_SECRET, GitHub-Tokens, Passwörter oder Zahlungsbelege im Chat einzufügen. Bitten Sie ihn, Geheimnisse direkt in GitHub Secrets oder die Aliyun/GitHub-Benutzeroberfläche einzugeben.

Erste Entscheidung

Bevor Sie Bereitstellungscode schreiben, wählen Sie den Weg und teilen Sie ihn explizit mit:

WegVerwendung, wennAutomatisierungsgradRisiko
EMAS Static HostingKeine benutzerdefinierte Domain, Einsteiger-Vorschau, der Benutzer kann die Aliyun-Konsole bedienenDer Agent bereitet Dateien vor und führt durch die Konsolenschritte; der Benutzer kümmert sich ggf. um Login/Zahlung/UploadDie Konsolenoberfläche kann sich ändern und manuellen Upload erfordern
OSS-WorkflowDer Benutzer möchte Codex × GitHub × Aliyun-Automatisierung; OSS-Bucket und AccessKey können vorbereitet werdenDer Agent kann Workflow generieren, Code pushen, CI auslösen und URL verifizierenOSS-Standarddomains können HTML herunterladen, sofern Metadaten/Static Hosting nicht korrekt sind

Wenn der Benutzer nur sagt "没有域名先给客户看", verwenden Sie zuerst die EMAS-Anleitung. Wenn der Benutzer sagt "自动上线", "XgitX阿里云", "GitHub 自动部署" oder "以后反复更新", verwenden Sie die OSS-Workflow-Skripte, erläutern Sie jedoch vor der Durchführung das Browser-Download-Risiko.

Arbeitsablauf

  1. Projekt überprüfen:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project .
    
  2. Den Bereitstellungsweg in einem Satz erklären:
    • OSS: "Dateien werden mit GitHub Actions auf Aliyun OSS hochgeladen und überprüft, ob der Browser die Datei anzeigt und nicht herunterlädt."
    • EMAS: "Zuerst wird Aliyun EMAS Static Hosting genutzt, um eine Vorschau-URL ohne Domain zu erhalten."
  3. Wenn der Benutzer noch keinen Aliyun-Zugang vorbereitet hat, lesen Sie references/secrets-hand-off.md und bitten Sie ihn, Aliyun-Login, Zahlung, AccessKey / GitHub Secrets abzuschließen. Verwenden Sie beigefügte Screenshots, um zu erklären, wo geklickt werden muss.
  4. Nur für OSS-Automatisierung: Generieren Sie den GitHub Actions Workflow:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/prepare_oss_workflow.py --project . --force
    
  5. Überprüfen Sie den generierten Workflow und das lokale Projekt erneut:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project . --strict
    
  6. Übertragen / Pushen Sie das Projekt nach GitHub, wenn der Benutzer dies wünscht und die Anmeldeinformationen verfügbar sind. Wenn Git LFS falsch installiert ist, verwenden Sie die Skriptausgabe, um die Lösung zu erklären, anstatt blind zu wiederholen.
  7. Nach Abschluss der Bereitstellung die öffentliche URL überprüfen:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/verify_deployed_url.py "$ALIYUN_SITE_URL"
    

Erforderliche GitHub Secrets

Für den enthaltenen OSS-Workflow bitten Sie den Benutzer, diese Repository-Secrets in GitHub zu erstellen:

  • ALIYUN_ACCESS_KEY_ID
  • ALIYUN_ACCESS_KEY_SECRET
  • ALIYUN_OSS_BUCKET
  • ALIYUN_OSS_ENDPOINT

Optional:

  • ALIYUN_SITE_URL für die Überprüfung zur Bereitstellungszeit. Beispiel: https://your-bucket.oss-cn-hangzhou.aliyuncs.com/index.html

Verwenden Sie für EMAS die genauen Secret-Namen, die vom EMAS-Bereitstellungsskript in diesem Projekt erwartet werden. Wenn kein EMAS-Skript existiert, erfinden Sie keine falschen Secret-Namen; leiten Sie den Benutzer durch den manuellen EMAS Static-Hosting-Upload oder erstellen Sie ein projektspezifisches Skript nach Bestätigung des offiziellen API/SDK-Pfads.

Menschliche Grenze

Halten Sie an und rufen Sie den Benutzer an, wenn eines der folgenden Elemente fehlt:

  • Aliyun-Konto ist nicht eingeloggt, nicht real-name-verifiziert oder fordert eine Zahlung.
  • EMAS-Service-Space, OSS-Bucket oder Static Hosting wurde nicht erstellt.
  • AccessKey wurde nicht erstellt.
  • GitHub Secrets sind nicht ausgefüllt.
  • GitHub fordert Benutzername/Token oder Zwei-Faktor-Bestätigung.

Zeigen Sie dem Benutzer die genauen auszufüllenden Felder an, aber empfangen Sie keine Geheimnisse im Chat.

Erfolgskriterien der Bereitstellung

Betrachten Sie die Bereitstellung erst dann als abgeschlossen, wenn alle Prüfungen bestanden sind:

  • Das GitHub-Repository enthält eine committete Website-Quelle und Bereitstellungsanweisungen.
  • Für die OSS-Automatisierung enthält das GitHub-Repository den generierten Workflow unter .github/workflows/deploy-aliyun-static-site.yml und die Actions-Ausführung ist auf main oder workflow_dispatch erfolgreich.
  • Für EMAS manuelles/Static-Hosting-Upload zeigt die Aliyun-Konsole hochgeladene Homepage-Dateien und eine öffentliche Standard-URL.
  • Die öffentliche URL gibt HTTP 200 oder 3xx gefolgt von 200 zurück.
  • Die Antwort ist HTML, kein XML-Fehlertext oder Metadaten für erzwungenen Download.
  • Die Seite enthält <html und einen nicht leeren Titel oder sichtbaren Textkörper.
  • Wichtige von der Startseite referenzierte Assets sind öffentliche oder entfernte URLs.

Referenzen

  • Lesen Sie references/secrets-hand-off.md, wenn der Benutzer schrittweise Hilfe zu Aliyun/GitHub Secrets benötigt.
  • Lesen Sie references/troubleshooting.md, wenn die Bereitstellung oder URL-Überprüfung fehlschlägt.

Verwandte Skills