Communitygithub.com

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

Codex用スキルとチュートリアル:カスタムドメインなしでフロントエンド静的サイトをAliyunにデプロイします。

aliyun-static-site-deploy-skill とは?

このスキルは、Codex(または他のAIエージェント)がフロントエンドの静的サイトをAliyun(阿里云)にデプロイする際のガイドを提供します。特にカスタムドメインを持たない初心者向けに、EMAS Serverless 静的ホスティングをデフォルトルートとして推奨し、AliyunのデフォルトURLを取得する手順を示します。また、GitHub Actionsを用いたOSS自動化ルートもサポートしており、ユーザーが明示的に自動化を希望する場合に、ワークフローファイルを生成してCI/CDパイプラインを構築します。スキルは、Aliyunへのログイン、実名認証、支払い、AccessKey作成など自動化できない手順ではユーザーの介入を促し、機密情報(シークレット)をチャット経由で受け取らないように設計されています。デプロイ後のURL検証スクリプトも含まれており、HTTPステータスコード、コンテンツタイプ、HTML構造を確認してデプロイの成功を判断します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Aliyun 静的サイトデプロイ

基本ルール

  • EMAS Serverless 静的ホスティングを、カスタムドメインがない初心者向けプレビューのデフォルトルートとして扱います。ユーザーにAliyunのデフォルトURLを提供し、一般的なOSSデフォルトドメインでのダウンロード問題を回避します。
  • OSS + GitHub Actions は、ユーザーが明示的にGitHubからAliyunへの自動化を希望し、すでにOSSバケットを作成または作成可能で、最終的なURLがHTMLとしてインライン表示されることを確認する必要があると理解している場合にのみ、反復可能な自動化ルートとして扱います。
  • Aliyunへのログイン、実名認証、有料サービスの有効化、AccessKeyの作成、GitHubの2FA、請求確認は自動化できないふりをしてはいけません。一時停止し、ユーザーにこれらの手順を完了するよう依頼してください。
  • ユーザーに ALIYUN_ACCESS_KEY_SECRET、GitHubトークン、パスワード、支払いのスクリーンショットをチャットに貼り付けないでください。シークレットは直接GitHub SecretsまたはAliyun/GitHub UIに入力するよう依頼してください。

最初の判断

デプロイコードを書く前に、ルートを決定し明示的に述べてください:

ルート使用する状況自動化レベルリスク
EMAS 静的ホスティングカスタムドメインなし、初心者プレビュー、ユーザーがAliyunコンソールを操作可能エージェントはファイルを準備しコンソール手順をガイド; 必要な場合ユーザーがログイン/支払い/アップロードを担当コンソールUIが変更される可能性があり、手動アップロードが必要になる場合がある
OSSワークフローユーザーがCodex × GitHub × Aliyunの自動化を希望; OSSバケットとAccessKeyを準備可能エージェントはワークフローを生成、コードをプッシュ、CIをトリガー、URLを検証可能OSSのデフォルトドメインは、メタデータ/静的ホスティングが正しく設定されていない場合HTMLをダウンロードさせる可能性がある

ユーザーが「没有域名先给客户看」とだけ言った場合は、まずEMASのガイダンスを使用してください。ユーザーが「自动上线」、「XgitX阿里云」、「GitHub 自动部署」、または「以后反复更新」と言った場合は、OSSワークフロースクリプトを使用しますが、事前にブラウザでのダウンロード検証リスクを説明してください。

ワークフロー

  1. プロジェクトを検査する:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project .
    
  2. デプロイルートを一文で説明する:
    • OSS: "GitHub Actions を使って阿里云 OSS にアップロードし、ブラウザがファイルをダウンロードしないことを確認します。"
    • EMAS: "まず阿里云 EMAS 静态托管を使ってドメインなしのプレビューURLを取得します。"
  3. ユーザーがAliyunアクセスを準備していない場合、references/secrets-hand-off.md を読み、Aliyunログイン/支払い/AccessKey/GitHub Secretsの完了を依頼してください。どこをクリックするか説明する際は、バンドルされたスクリーンショットを使用してください。
  4. OSS自動化の場合のみ、GitHub Actionsワークフローを生成する:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/prepare_oss_workflow.py --project . --force
    
  5. 生成されたワークフローとローカルプロジェクトを再度検証する:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project . --strict
    
  6. ユーザーがそれを要求し、認証情報が利用可能な場合、プロジェクトをGitHubにコミット/プッシュする。Git LFSが誤ってインストールされている場合は、スクリプト出力を使用して修正方法を説明し、盲目的に再試行しないでください。
  7. デプロイ完了後、公開URLを検証する:
    python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/verify_deployed_url.py "$ALIYUN_SITE_URL"
    

必要なGitHub Secrets

含まれているOSSワークフローの場合、ユーザーにGitHubで以下のリポジトリシークレットを作成するよう依頼してください:

  • ALIYUN_ACCESS_KEY_ID
  • ALIYUN_ACCESS_KEY_SECRET
  • ALIYUN_OSS_BUCKET
  • ALIYUN_OSS_ENDPOINT

オプション:

  • ALIYUN_SITE_URL — デプロイ時の検証用。例:https://your-bucket.oss-cn-hangzhou.aliyuncs.com/index.html

EMASの場合は、そのプロジェクトのEMASデプロイスクリプトで必要な正確なシークレット名を使用してください。EMASスクリプトが存在しない場合は、偽のシークレット名をでっち上げず、手動でのEMAS静的ホスティングアップロードをガイドするか、公式API/SDKパスを確認した後にプロジェクト固有のスクリプトを作成してください。

人間の境界

以下のいずれかが不足している場合は、一時停止してユーザーを呼び出してください:

  • Aliyunアカウントにログインしていない、実名認証が完了していない、または支払いを求められている。
  • EMASサービススペース、OSSバケット、または静的ホスティングが作成されていない。
  • AccessKeyが作成されていない。
  • GitHub Secretsが入力されていない。
  • GitHubがユーザー名/トークンまたは二段階認証を求めている。

ユーザーに正確な入力フィールドを表示しますが、チャットでシークレットを受け取らないでください。

デプロイ成功条件

すべてのチェックが合格するまで、デプロイは不完全として扱います:

  • GitHubリポジトリにコミットされたWebサイトのソースとデプロイ手順がある。
  • OSS自動化の場合、GitHubリポジトリに生成されたワークフロー(.github/workflows/deploy-aliyun-static-site.yml)があり、mainまたはworkflow_dispatchでActionsの実行が成功している。
  • EMAS手動/静的ホスティングアップロードの場合、Aliyunコンソールにアップロードされたホームページファイルと公開デフォルトURLが表示されている。
  • 公開URLがHTTP 200または3xxの後に200を返す。
  • レスポンスがHTMLであり、XMLエラーテキストや強制ダウンロードメタデータではない。
  • ページに<htmlと空でないタイトルまたは表示可能な本文テキストが含まれている。
  • ホームページが参照する主要なアセットが公開URLまたはリモートURLである。

参考資料

  • ユーザーがAliyun/GitHub Secretsの段階的なヘルプを必要とする場合は、references/secrets-hand-off.mdをお読みください。
  • デプロイまたはURL検証が失敗した場合は、references/troubleshooting.mdをお読みください。

関連スキル