Azure Pipelines を使用して App Configuration にスナップショットを作成する
Azure App Configuration スナップショット タスクは、Azure App Configuration にスナップショットを作成するように設計されています。
前提条件
- Azure サブスクリプション - 無料アカウントを作成する
- App Configuration ストア - 無料で作成できます
- Azure DevOps プロジェクト - 無料プロジェクトを作成する
- Azure Pipelines エージェント バージョン 2.144.0 以降、セルフホステッド エージェントでタスクを実行する場合は Node バージョン 16 以降。
サービス接続を作成する
サービス接続により、Azure DevOps プロジェクトから Azure サブスクリプション内のリソースにアクセスできます。
Azure DevOps で、ターゲット パイプラインを含むプロジェクトに移動します。 左下隅にある [プロジェクトの設定] を選択します。
[パイプライン] で、[サービス接続] を選択します。 右上隅の [新しいサービス接続] を選択します。
[新しいサービス接続] で、 [Azure Resource Manager] を選択します。
[認証方法] ダイアログで、[ワークロード ID フェデレーション (自動)] を選択して新しいワークロード ID フェデレーションを作成するか、[ワークロード ID フェデレーション (手動)] を選択して既存のワークロード ID フェデレーションを使用します。
ご自分のサブスクリプション、リソース グループ、サービス接続の名前を入力します。
新しいサービス プリンシパルを作成した場合、サービス接続に割り当てられているサービス プリンシパルの名前を探します。 次の手順では、このサービス プリンシパルに新しいロールの割り当てを追加します。
[プロジェクトの設定]>[サービス接続] の順に移動します。
新しいサービス接続を選択します。
[サービス プリンシパルの管理] を選択します。
[表示名] の値をメモします。
ロールの割り当ての追加
タスクで App Configuration ストアにアクセスできるように、タスク内で使用する資格情報に、適切な App Configuration のロールの割り当てを割り当てます。
ターゲットの App Configuration ストアに移動します。
左側のメニューで [アクセス制御 (IAM)] を選択します。
右側のペインで、[ロールの割り当てを追加] を選択します。
[ロール] で [App Configuration データ所有者] を選択します。 このロールを使用すると、タスクで App Configuration ストアに対して読み取りや書き込みを行うことができます。
前のセクションで作成したサービス接続に関連付けるサービス プリンシパルを選択します。
[レビューと割り当て] を選択します。
ビルドでの使用
このセクションでは、Azure DevOps ビルド パイプラインで Azure App Configuration スナップショット タスクを使用する方法について説明します。
- [パイプライン]>[パイプライン] の順にクリックして、ビルド パイプラインのページに移動します。 ビルド パイプラインの詳細については、「最初のパイプラインの作成」を参照してください。
- 新しいビルド パイプラインを作成している場合は、プロセスの最後の手順を行うときに、 [確認] タブでパイプラインの右側にある [アシスタントを表示する] を選択します。
- 既存のビルド パイプラインを使用している場合は、右上にある [編集] ボタンをクリックします。
- 新しいビルド パイプラインを作成している場合は、プロセスの最後の手順を行うときに、 [確認] タブでパイプラインの右側にある [アシスタントを表示する] を選択します。
- Azure App Configuration スナップショット タスクを検索します。
- App Configuration ストアにスナップショットを作成するタスクに必要なパラメーターを構成します。 パラメーターの説明は、以下の「パラメーター」セクション、および各パラメーターの横にあるヒントを参照してください。
- ビルドを保存してキューに登録します。 ビルド ログには、タスクの実行中に発生したすべてのエラーが表示されます。
リリースでの使用
このセクションでは、Azure DevOps リリース パイプラインで Azure App Configuration スナップショット タスクを使用する方法について説明します。
- [パイプライン]>[リリース] の順に選択して、リリース パイプラインのページに移動します。 リリース パイプラインの詳細については、最初のパイプラインの作成に関するページを参照してください。
- 既存のリリース パイプラインを選択します。 ない場合は、 [+ 新規] を選択して、新規作成します。
- 右上隅にある [編集] ボタンを選択して、リリース パイプラインを編集します。
- [タスク] ドロップダウンから、タスクを追加するステージを選択します。 ステージの詳細については、「ステージ、依存関係、条件の追加」を参照してください。
- 新しいタスクを追加するジョブの横にある + をクリックします。
- [タスクの追加] ダイアログで、検索ボックスに「Azure App Configuration スナップショット」と入力して選択します。
- App Configuration ストア内にスナップショットを作成するためにタスク内に必要なパラメーターを構成します。 パラメーターの説明は、以下の「パラメーター」セクション、および各パラメーターの横にあるヒントを参照してください。
- リリースを保存してキューに登録します。 リリース ログには、タスクの実行中に発生したすべてのエラーが表示されます。
パラメーター
App Configuration スナップショット タスクによって、次のパラメーターが使用されます。
Azure サブスクリプション:利用可能な Azure サービス接続を含むドロップダウン。 利用可能な Azure サービス接続の一覧を最新の情報に更新するには、テキストボックスの右側にある [Azure サブスクリプションの更新] ボタンを押します。
App Configuration エンドポイント: 選択したサブスクリプションで利用可能な構成ストア エンドポイントが読み込まれるドロップダウン。 利用可能な構成ストア エンドポイントの一覧を最新の情報に更新するには、テキストボックスの右側にある [App Configuration エンドポイントの更新] ボタンを押します。
スナップショット名: スナップショットの名前を指定します。
コンポジションの種類: 既定値は [キー] です。
キー: このコンポジションの種類には、フィルターが順番に適用されます。 スナップショット内の各キー値は、キーのみで一意に特定されます。 キーが同じで複数のラベルを持つキー値が複数ある場合、最後に適用されたフィルターに基づいて、1 つのキー値のみが保持されます。
キー ラベル: フィルターが適用されます。また、結果のスナップショットに含まれるすべてのキー値は、キーとラベルの組み合わせによって一意に特定されます。
フィルター: App Configuration スナップショットの構築に使用されるキーとラベルのフィルターを表します。 フィルターは有効な JSON 形式にする必要があります。 例:
[{"key":"abc*", "label":"1.0.0"}]
。 少なくとも 1 つのフィルターを指定する必要があり、最大 3 つのフィルターを指定できます。保持期間: 既定値は 30 日です。 スナップショットがアーカイブされた後に保持される日数を指します。 保持期間中は、アーカイブされたスナップショットを復元できます。
タグ:
{"tag1":"val1", "tag2":"val2"}
形式の JSON オブジェクト。これを使用して、App Configuration ストアに作成される各スナップショット値に追加されるタグを定義します。
トラブルシューティング
予期しないエラーが発生した場合、パイプライン変数 system.debug
を true
に設置すると、デバッグ ログを有効にすることができます。
次のステップ
パラメーターの完全なリファレンス、または YAML パイプラインでこのパイプライン タスクを使用するには、次のドキュメントを参照してください。
App Configuration ストアからキー値をエクスポートし、Azure パイプライン変数として設定する方法については、次のドキュメントに進んでください。
構成ファイルから App Configuration ストアにキー値をインポートする方法については、次のドキュメントに進んでください。