mcpField
A
appbuilder-cicd-pipeline

appbuilder-cicd-pipeline

github.com/adobeクラウド・DevOps316720 回インストール今日更新
リポジトリ

appbuilder-cicd-pipeline について

Adobe App Builder プロジェクトの CI/CD パイプラインを構成するスキルです。デプロイやテストを管理する開発者向けに、GitHub Actions のテンプレートと認証情報の設定手順を提供し、Azure DevOps、GitLab CI、Jenkins にも対応するガイドを含みます。

主な機能

  1. 01GitHub Actions のデプロイ・PR テンプレート
  2. 02Azure DevOps、GitLab CI、Jenkins のガイド
  3. 03OAuth S2S 認証情報の設定
  4. 04ワークスペース別のリポジトリシークレット
  5. 05デプロイの検証とトラブルシューティング

活用シーン

  1. 01Stage と Production のデプロイワークフロー設定
  2. 02プルリクエストのテスト実行
  3. 03各ワークスペースの CI 認証情報設定
  4. 04デプロイ時の認証エラー調査

インストール

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

$npx skills add https://github.com/adobe/skills --skill appbuilder-cicd-pipeline

インストール後、Claude Code で/appbuilder-cicd-pipelineを入力して読み込まれたか確認します。

同梱ファイル

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

assets/
deploy-prod.yml
deploy-stage.yml
fetch-secrets.sh
pr-test.yml
evals/
evals.json
references/
checklist.md
debugging.md
generic-pipeline-guide.md
github-actions-guide.md
secrets-management.md

詳細

App Builder CI/CD パイプライン

Adobe App Builder プロジェクト向けに CI/CD パイプラインをセットアップします。GitHub Actions(主な選択肢)、Azure DevOps、GitLab CI に対応しています。IMS 認証を使用した OAuth S2S 資格情報を利用します。リポジトリシークレットのみを使用し、環境シークレットは使用しません。

パターン早見表

ユーザーの要望テンプレート
GitHub Actions でステージング環境にデプロイassets/deploy-stage.yml
GitHub Actions で本番環境にデプロイassets/deploy-prod.yml
GitHub Actions の PR テストassets/pr-test.yml
ワークスペースからシークレットを抽出assets/fetch-secrets.sh
Azure DevOps / GitLab CI / Jenkinsreferences/generic-pipeline-guide.md
シークレットのセットアップガイドreferences/secrets-management.md
デプロイ失敗のデバッグreferences/debugging.md

最短手順(依頼内容が明確な場合)

ユーザーが「App Builder プロジェクトの CI/CD をセットアップして」と依頼し、GitHub を使用している場合は、3 つのワークフローファイルとシークレットガイドをすぐに生成します。

  1. assets/deploy-stage.yml を .github/workflows/deploy_stage.yml にコピーします
  2. assets/deploy-prod.yml を .github/workflows/deploy_prod.yml にコピーします
  3. assets/pr-test.yml を .github/workflows/pr_test.yml にコピーします
  4. references/secrets-management.md を使ってシークレットのセットアップを案内します

ユーザーが Azure DevOps、GitLab CI、または Jenkins を指定した場合は、references/generic-pipeline-guide.md を使用します。

クイックリファレンス

  • ワークフローの場所: リポジトリのルートにある .github/workflows/
  • ブートストラップコマンド: aio app add ci でスターターワークフローファイルを生成します
  • 公式アクション: adobe/aio-cli-setup-action@3(CLI のインストール)+ adobe/[email protected](ビルド/テスト/デプロイ)
  • 認証モデル: IMS を使用した OAuth Server-to-Server(S2S)です。aio-apps-action の auth コマンドは(JWT のため)非推奨です。使用しないでください。
  • シークレットのスコープ: リポジトリシークレットのみを使用します。App Builder は GitHub の環境シークレットをサポートしていません。
  • ワークスペースごとのシークレット: ワークスペースのサフィックス(_STAGE、_PROD)付きの 14 個のシークレット
  • 前提条件: シークレットを抽出する前に、Developer Console で各ワークスペースに「I/O Management API」を追加します
  • ワークスペース設定: aio app use <workspace.json> を実行して .aio ファイルと .env ファイルを設定します

ワークフロー全体(依頼内容が曖昧または複雑な場合)

  1. 既存のセットアップを確認する: .github/workflows/ を確認します(aio app add ci による生成、または手動作成)。ワークフローがすでに存在するか確認します。
  2. CI/CD プラットフォームを確認する: デフォルトは GitHub Actions です。Azure DevOps、GitLab CI、または Jenkins が必要かユーザーに確認します。
  3. ワークフローファイルを生成する: assets/ のテンプレートを .github/workflows/ にコピーします。必要に応じて、トリガー、ブランチ名、環境サフィックスをカスタマイズします。
  4. シークレットのセットアップを案内する:a. Developer Console でワークスペースに「I/O Management API」が追加されていることを確認しますb. Developer Console から workspace.json をダウンロードしますc. aio app use <workspace.json> を実行して、ローカルの .aio と .env を設定しますd. assets/fetch-secrets.sh を実行して資格情報の値を抽出しますe. 各シークレットを GitHub のリポジトリシークレット(環境シークレットではありません)に追加するようユーザーに案内しますf. 各シークレット名に _STAGE または _PROD サフィックスを追加します
  5. カスタムシークレットを追加する: アプリでカスタム環境変数を使用する場合は、Deploy ステップの env キーの下に追加します
  6. 検証する: マージ前に references/checklist.md の手順に沿って確認します
  7. トラブルシューティング: デプロイに失敗した場合は、一般的なケースについて references/debugging.md を参照します
  8. テストする: ブランチにプッシュし、ワークフローが正常に実行されることを確認します

ユーザーに確認する情報

  • 現在のリポジトリのパスと希望する CI/CD プラットフォーム
  • 対象となる Adobe 組織、プロジェクト、ワークスペースの名前
  • ステージング環境、本番環境、または両方のワークスペースで CI/CD が必要かどうか
  • アプリケーションで必要なカスタムシークレット

成果物

  • .github/workflows/ 内のワークフロー YAML ファイル
  • リポジトリ設定用に抽出したシークレット
  • マージ前の references/checklist.md による検証

品質基準

  • すべてのワークフロー YAML が構文的に有効であること
  • シークレットにはリポジトリスコープを使用し、環境スコープは使用しないこと
  • OAuth S2S 認証情報のみを使用し、JWT 認証への言及は含めないこと
  • 各ワークスペースに、正しいサフィックスが付いた独自のシークレットセットを用意すること
  • ワークフローでは、固定されたアクションのバージョン(@3、@3.3.0)を使用すること

参考資料

  • GitHub Actions ワークフローのパターンとシークレットの表については、references/github-actions-guide.md を参照してください。
  • Azure DevOps、GitLab CI、Jenkins のパターンについては、references/generic-pipeline-guide.md を参照してください。
  • OAuth S2S 認証情報の抽出と GitHub シークレットの設定については、references/secrets-management.md を参照してください。
  • デプロイの失敗、CI エラー、ワークスペースのプロモーションに関する問題のトラブルシューティングについては、references/debugging.md を参照してください。
  • マージ前の CI 準備状況の検証については、references/checklist.md を参照してください。
  • ワークフローのテンプレートとして、assets/deploy-stage.yml、assets/deploy-prod.yml、assets/pr-test.yml を使用してください。
  • ワークスペース設定からシークレットの値を抽出するには、assets/fetch-secrets.sh を使用してください。
  • Adobe 公式ドキュメント:https://developer.adobe.com/app-builder/docs/guides/app_builder_guides/deployment/cicd-using-github-actions

よくある問題

  • ワークフローがトリガーされない場合: ワークフローファイルがデフォルトブランチにコミットされていること、およびトリガーがブランチ戦略と一致していることを確認してください。
  • 認証エラーでデプロイに失敗する場合: auth コマンドは非推奨です。JWT ではなく OAuth S2S 認証情報を使用していることを確認してください。14 個すべてのシークレットが、正しいワークスペースサフィックス付きで設定されていることを確認してください。
  • 「I/O Management API not found」: シークレットを抽出する前に、Developer Console でワークスペースに I/O Management API サービスを追加してください。
  • 環境シークレットが機能しない場合: App Builder は GitHub の環境シークレットに対応していません。すべてのシークレットをリポジトリレベルのシークレットに移動してください。
  • シークレットが不足している場合: fetch-secrets.sh を実行し、出力を references/github-actions-guide.md の 14 個のシークレットの表と照合してください。各値が存在し、正しいサフィックスが付いている必要があります。
  • カスタム環境変数がアクションで使用できない場合: GitHub シークレットに設定するだけでなく、ワークフローの Deploy ステップで env キーの下にカスタムシークレットを追加してください。

連携

  • appbuilder-action-scaffolder から連携(アクションの実装後)
  • appbuilder-testing から連携(CI での自動テスト実行)
  • セットアップ後は単独で動作(ワークフローは push/PR/リリース時に自動実行)

コメント