mcpField
A
alibabacloud-tech-solution-animation-creation-auto-deploy

alibabacloud-tech-solution-animation-creation-auto-deploy

github.com/aliyunクラウド・DevOps281410 回インストール1 日前に更新
リポジトリ

alibabacloud-tech-solution-animation-creation-auto-deploy について

Alibaba Cloudの「Build AI Animation Story Creation App」ソリューションを自動デプロイするスキルです。CLIでクラウドリソースを用意し、OSS、DashScope、FC Appを構成してアクセスURLを返します。デプロイ後、アプリの操作は行いません。

主な機能

  1. 01Bailian APIキーとOSS Bucketの作成
  2. 02Devsテンプレートからプロジェクトを作成
  3. 03ComfyUIとWebUIの関数をデプロイ
  4. 04状態確認とカスタムドメイン作成
  5. 05アプリのアクセスURLを出力

活用シーン

  1. 01AIアニメーションストーリーアプリのデプロイ
  2. 02必要なクラウドリソースの自動構成
  3. 03デプロイ後のアプリURL取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-tech-solution-animation-creation-auto-deploy

インストール後、Claude Code で/alibabacloud-tech-solution-animation-creation-auto-deployを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
acceptance-criteria.md
cli-installation-guide.md
ram-policies.md
related-commands.md
verification-method.md
scripts/
attach-policies.sh
create-api-key.sh
create-custom-domain.sh
deploy-environment.sh
poll-deploy-status.sh
render-and-update.sh
setup-role.sh

詳細

AI アニメーションストーリー作成アプリの構築 — 自動デプロイ

Alibaba Cloud の「AI アニメーションストーリー作成アプリ」ソリューションを自動的にデプロイします。アプリケーションにアクセスできるようになった時点でデプロイを停止します。実際に操作するのはユーザーです。

アーキテクチャ: OSS Bucket + DashScope (Bailian API Key) + FC App (ComfyUI + WebUI — Devs テンプレートを使ってデプロイする 2 つの関数)

インストール

前提条件(スクリプトの実行時依存関係):

依存関係最小バージョン確認コマンド用途
bash4.0+bash --versionスクリプトの実行環境
aliyun CLI>= 3.3.7aliyun versionAlibaba Cloud リソースの操作(ai-mode サブコマンドには 3.3.7 以降が必要です)
python33.6+python3 --versionJSON の解析
curl任意curl --versionHTTP API 呼び出し

Aliyun CLI がインストールされていない場合、またはバージョンが古い場合は、 references/cli-installation-guide.md を参照してインストールしてください。 次に、自動プラグインインストールを有効にするため、[必須] aliyun configure set --auto-plugin-install true を実行してください。


CLI の初期化(コアワークフローの前に必ず実行)

AI-Mode を有効にし、専用の User-Agent を設定して、プラグインを更新します。これにより、以降のすべての CLI 呼び出しに適切なタグが付与され、最新バージョンのプラグインが使用されます。

aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy"
aliyun plugin update

認証

事前確認:Alibaba Cloud の認証情報が必要です

セキュリティルール:

  • AK/SK の値を読み取ったり、エコーしたり、表示したりすることは絶対にしないでください
  • 会話中やコマンドラインで AK/SK を直接入力するようユーザーに求めることは絶対にしないでください
  • 認証情報の値を直接指定して aliyun configure set を実行することは絶対にしないでください
  • 認証情報の状態確認には aliyun configure list のみを使用してください
aliyun configure list

出力を確認し、有効なプロファイル(AK、STS、または OAuth ID)があるか確認してください。

有効なプロファイルがない場合は、ここで停止してください。

  1. Alibaba Cloud Console から認証情報を取得します
  2. このセッション外で認証情報を設定します
  3. aliyun configure list に有効なプロファイルが表示されたら、戻って再実行します

RAM ポリシー

必要な権限の一覧は references/ram-policies.md を参照してください。

必須のシステムポリシー: AliyunFCFullAccess、AliyunOSSFullAccess

追加の権限: Devs 関連の権限(devs:CreateProject、devs:RenderServicesByTemplate、devs:UpdateEnvironment、devs:DeployEnvironment、devs:ListEnvironments、devs:GetEnvironment)

コアワークフローの前に、必要なポリシーを自動的に確認してアタッチしてください:

bash scripts/attach-policies.sh

[MUST] 権限エラーへの対応: 実行中のどの時点でも、権限エラーによってコマンドまたは API 呼び出しが失敗した場合は、次の手順に従ってください。

  1. references/ram-policies.md を読み、この SKILL に必要な権限の全一覧を確認します
  2. ram-permission-diagnose スキルを使用して、必要な権限の申請をユーザーに案内します
  3. 必要な権限が付与されたことをユーザーが確認するまで待機します

パラメーターの確認

重要:パラメーターの確認 — コマンドまたは API 呼び出しを実行する前に、 すべてのパラメーターが固定値、または自動生成・作成された値であることを確認します。ユーザーによる手動入力は不要です。

パラメーター必須説明値
RegionIdはいデプロイ先リージョン(FC と OSS は同じリージョン)固定値 cn-hangzhou
BUCKET_NAMEはいOSS Bucket 名自動生成 animation-story-<6 random lowercase letters>
API_KEYはいBailian(DashScope)API キーaliyun modelstudio create-api-key で自動作成
PROJECT_NAMEはいDevs プロジェクト名自動生成 animation-creation-<6 random lowercase letters>

コアワークフローを開始する前に、シェルで次の変数を設定してください(以降のすべてのコマンドで、これらを直接参照します):

# Generate random names
BUCKET_NAME="animation-story-$(cat /dev/urandom | LC_ALL=C tr -dc 'a-z' | head -c 6)"
PROJECT_NAME="animation-creation-$(cat /dev/urandom | LC_ALL=C tr -dc 'a-z' | head -c 6)"
echo "BUCKET_NAME=$BUCKET_NAME, PROJECT_NAME=$PROJECT_NAME"

コアワークフロー

ステップ 1:Bailian API キーを作成する(CLI)

aliyun modelstudio CLI を使って、ワークスペースを自動的に取得し、API キーを作成します。

source scripts/create-api-key.sh

注記: source を使用して、API_KEY 変数が現在のシェルにエクスポートされるようにしてください。スクリプトはデフォルトのワークスペースを自動的に取得し(存在しない場合は作成します)、API キーを作成して、その値全体を出力します。

ステップ 2:OSS サービスを有効化してバケットを作成する(CLI)

注記: OSS CLI プラグインでは、User-Agent の設定に --user-agent ではなく --ua フラグを使用します。

まず OSS サービスを有効化します(すでに有効な場合は ORDER.OPEND が返されますが、無視して構いません)。

aliyun ossadmin open-oss-service --endpoint oss-admin.aliyuncs.com --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy 2>&1 || true

バケットを作成します。

aliyun oss mb "oss://$BUCKET_NAME" --region cn-hangzhou --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy

確認します。

aliyun oss stat "oss://$BUCKET_NAME" --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
ステップ 3:Devs プロジェクトを作成する(CLI)

CreateProject API を使ってプロジェクトを作成します。templateConfig でテンプレート名とパラメーターを指定すると、Devs が production 環境を自動的に作成します。

注記: CreateProject はプロジェクトと空の環境を作成するだけで、デプロイは自動的に開始しません。デプロイを完了するには、続けて RenderServicesByTemplate、UpdateEnvironment、DeployEnvironment を実行する必要があります。

aliyun devs create-project --body "{
  \"name\": \"$PROJECT_NAME\",
  \"spec\": {
    \"templateConfig\": {
      \"templateName\": \"animation-creation\",
      \"parameters\": {
        \"region\": \"cn-hangzhou\",
        \"bailian_api_key\": \"$API_KEY\",
        \"ossBucket\": \"$BUCKET_NAME\"
      }
    }
  }
}" --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy

テンプレートパラメーターに関する注記(確認済み — 変更しないでください):

  • region:cn-hangzhou 固定
  • bailian_api_key:ステップ 1 で自動作成した Bailian API キー
  • ossBucket:ステップ 2 で作成した OSS バケット名(oss:// 接頭辞なし)
  • すべてのパラメーターは variableValues ではなく、parameters で渡します
ステップ 4:テンプレートをレンダリングして環境を設定する(CLI)

このステップのすべてのコマンドでは、シェル変数 MY_UID、PROJECT_NAME、BUCKET_NAME、API_KEY を使用します。ステップ 1 とパラメーターの確認を実行済みであることを確認してください。

まず、現在のユーザー UID を取得し、ロールの信頼ポリシーを確認します。

source scripts/setup-role.sh

注記: source を使用して、MY_UID 変数が現在のシェルにエクスポートされるようにしてください。スクリプトはロールが存在するかどうかを自動的に確認し、存在しない場合は作成します。このロールは標準の Devs ロールで、通常、FC コンソールのアプリケーション機能を初めて使うと自動的に作成されます。

4a. テンプレートをレンダリング → JSON を構築 → 環境を更新(一括スクリプト)

以下のスクリプトは、テンプレートのレンダリング → カスタムドメインの除外 → roleArn の追加 → UpdateEnvironment の呼び出しを自動的に行います。 エージェントが JSON を手動で処理する必要はありません。

bash scripts/render-and-update.sh

重要な注意事項(スクリプトに組み込み済み — 手動での処理は不要):

  • custom-domain サービスは自動的に除外されます(「Unknown service type」エラーの原因となるため)
  • roleArn は自動的に追加されます
  • データの受け渡しには --body を使用します(--spec では、深くネストされた JSON を正しく渡せません)
4b. デプロイを開始する

レート制限保護機能を内蔵: スクリプトは 60 秒間隔で最大 3 回再試行し、404 が発生すると直ちに停止します。スクリプトを直接実行してください — deploy-environment を手動で呼び出さないでください。

bash scripts/deploy-environment.sh
ステップ 5:デプロイ状況をポーリングする

デプロイは非同期で行われるため、完了するまでポーリングします(通常、5~15 分かかります)。以下のスクリプトを直接実行してください。

bash scripts/poll-deploy-status.sh
ステップ 6:カスタムドメインを作成する

カスタムドメインが必要な理由: FC のトリガー URL(*.fcapp.run)は Content-Disposition: attachment レスポンスヘッダーを強制するため、ブラウザーは HTML を表示せずにダウンロードします。アプリケーションを正常に動作させるには、カスタムドメイン(*.devsapp.net)が必要です。

ヘルパー関数の作成には、FC 2.0 API(aliyun fc-open)を必ず使用してください。 FC 3.0 では関数名に $ を使用できません。--auto-plugin-install true 設定により、fc-open プラグインが自動的にインストールされます。

以下の完全なスクリプトを直接実行してください(設定が必要なのは MY_UID と PROJECT_NAME 変数のみです)。

bash scripts/create-custom-domain.sh
ステップ 7:アクセス URL の取得(ここで停止)

アクセス URL は、ステップ 6 のスクリプトの最後に自動的に出力されます。形式:

http://${PROJECT_NAME}-web.fcv3.${MY_UID}.cn-hangzhou.fc.devsapp.net/

ここで停止します。ステップ 6 の出力からアクセス URL をユーザーに提示し、アプリを自分で試してもらってください。ユーザーに代わってアプリを操作しないでください。

⚠️ 安全に関する注意 — アクセス URL を提示する際は、必ずユーザーに次のことを伝えてください: この URL はインターネット経由で直接アクセスできます。信頼できない相手とむやみに共有しないでください。許可されていないアクセスにより、次の事態が発生する可能性があります:

  • クラウドリソースの消費: アクセスのたびに関数コンピューティングのリソースと百炼 API の呼び出し枠が消費され、追加料金が発生する可能性があります。
  • プライバシー情報の漏えい: 生成されたアニメーションストーリーやアップロードした画像などに、個人情報や機密情報が含まれる可能性があります。

クリーンアップ

デプロイ済みリソースをクリーンアップするには、次の順序で削除します(PROJECT_NAME、MY_UID、BUCKET_NAME、API_KEY_ID 変数が必要です):

# 1. Delete FC custom domain
aliyun fc delete-custom-domain --domain-name "${PROJECT_NAME}-web.fcv3.${MY_UID}.cn-hangzhou.fc.devsapp.net" --region cn-hangzhou --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy

# 2. Delete Devs project (also deletes associated FC functions; --force true skips environment resource check)
aliyun devs delete-project --name "$PROJECT_NAME" --force true --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy

# 3. Delete OSS Bucket (recursively delete all objects first, then delete the Bucket)
aliyun oss rm "oss://$BUCKET_NAME" -r -f --region cn-hangzhou --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
aliyun oss rm "oss://$BUCKET_NAME" -b -f --region cn-hangzhou --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy

# 4. Delete Bailian API Key (API_KEY_ID is output during create-api-key.sh execution)
aliyun modelstudio delete-api-key --api-key-id "$API_KEY_ID" --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy

ワークフローの終了

ワークフローの完了後(またはクリーンアップ後)、AI-Mode を無効にします:

aliyun configure ai-mode disable

CLI/SDK では実行できない操作の概要

CLI コマンドの完全なリファレンスについては、references/related-commands.md を参照してください。

主な制限: FC の初回アクティベーションは CLI/API に対応していないため、ユーザーがコンソールで手動で有効化する必要があります。

自動有効化: OSS サービスは aliyun ossadmin open-oss-service(ステップ 2 に組み込み済み)で、Bailian ワークスペースは aliyun modelstudio create-workspace(ステップ 1 に組み込み済み)で自動的に有効化されます。


ベストプラクティス

  1. リージョンは cn-hangzhou に固定されています(FC と OSS は同じリージョンです)
  2. DashScope API Key は Devs テンプレートのパラメーター経由で渡され、ハードコードされません
  3. OSS バケット名には、競合を避けるためランダムなサフィックスが含まれます
  4. デプロイ完了後、アクセス URL と作成されたリソースを記録します

参考リンク

参考資料説明
references/ram-policies.mdRAM 権限ポリシー
references/related-commands.mdCLI/SDK コマンドリファレンス
references/verification-method.mdデプロイの検証手順
references/acceptance-criteria.md受け入れ条件
references/cli-installation-guide.mdCLI インストールガイド

コメント