Azure Pipelines - Sprint 246 Update
機能
- Azure Pipelines でホストされるエージェント上の Ubuntu 24.04
- Azure 統合テストでワークロード ID フェデレーションを使用する
- マネージド ID のサポートが強化された新しい Azure サービス接続作成エクスペリエンス
- 親ステージが失敗したときに子ステージを実行する
Azure Pipelines でホストされるエージェント上の Ubuntu 24.04
Ubuntu 24.04 イメージは、Azure Pipelines でホストされているエージェントで使用できるようになりました。 このイメージを使用するには、 vmImage:'ubuntu-24.04'
を含むように YAML ファイルを更新します。
- job: ubuntu2404
pool:
vmImage: 'ubuntu-24.04'
steps:
- bash: |
echo Hello from Ubuntu 24.04
lsb_release -d
Note
ubuntu-latest
イメージ ラベルは、今年後半まで ubuntu-22.04 を指し続けます。
インストールされているソフトウェアについては、 Ubuntu 24.04 イメージの readme を参照してください。
Azure 統合テストでワークロード ID フェデレーションを使用する
6 月には、Azure ID ライブラリ for.NET、C++、Go、Java、JavaScript、Python ワークロード ID フェデレーションのサポートが追加されました。 これにより、 AzureCLI@2 タスクと AzurePowerShell@5 タスクから実行されるコードが、 AzurePipelinesCredential
クラスで Microsoft Entra で認証 (たとえば、Azure にアクセスする) 機能が追加されました。
多くのお客様は、他のタスクから呼び出された統合テストで Azure ID ライブラリを使用しています。 DotNetCoreCLI@2、Maven@4、VSTest@3タスクに対するAzurePipelinesCredential
のサポートが追加されました。
connectedService
プロパティは、ワークロード ID フェデレーションで構成された Azure サービス接続に設定できます。 AzurePipelinesCredential
では、SYSTEM_ACCESSTOKEN
を設定する必要があります。
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedService: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
AzurePipelinesCredential
の詳細については、このブログの投稿を参照してください。
マネージド ID のサポートが強化された新しい Azure サービス接続作成エクスペリエンス
新しい Azure サービス接続の作成エクスペリエンスにより、柔軟性が向上し、既定値がセキュリティで保護されます。 また、Microsoft Entra ID オブジェクトを作成するユーザーが別のポータルを移動するときに、手動で解釈を深めることができるように、用語を Microsoft Entra ID と一致させます。
新しい Azure Resource Manager サービス接続を作成するときに、ID を構成するためのさまざまなオプションが、前に使用した個別の最上位レベル項目を置き換える単一の統合ダイアログで使用できるようになりました。
ID の種類 には、Azure サービス接続でサポートされているすべての認証スキームが一覧表示されます。
アプリの登録では、Credentialを個別に選択して、ID フェデレーションまたはシークレットをworkload できます。
Azure サービス接続マネージド ID のサポート
既存のマネージド ID を選択し、それを使用して、ワークロード ID フェデレーションを使用するサービス接続を構成できるようになりました。 まず、ユーザー割り当てマネージド ID を作成。
次に、Azure サービス接続を作成し、 管理 ID ID の種類を選択します。 これにより、マネージド ID のフェデレーション ID 資格情報が構成されます。
エージェント (プール) に割り当てられたマネージド ID を使用するオプションの名前が 管理 ID (エージェント割り当て) に変更されました。 特権を超えるマネージド ID を共有しないようにするには、エージェント プールに割り当てられたマネージド ID ではなく、ワークロード ID フェデレーションでマネージド ID を使用することをお勧めします。
また、Microsoft Entra ID でアプリ登録が できない場合にアプリ登録を作成できないユーザーには、マネージド ID も推奨されるオプションです。
ワークロード ID フェデレーションでマネージド ID を使用するには、まず、マネージド ID を保持するサブスクリプションとリソース グループを選択します。 これは、パイプライン ジョブでサービス接続がアクセスするサブスクリプションとは異なる場合があります。 ワークロード ID フェデレーション用に構成されているマネージド ID を選択します。 ユーザーがフェデレーション ID 資格情報を作成するには、マネージド ID に対する Managed Identity Contributor ロールまたは同等のアクセス許可が必要です。
引き続き、サービス接続のデプロイ スコープとして使用されるサブスクリプションを選択します。
[サービス管理リファレンス] フィールド
一部の組織では、ITSM データベースからの関連コンテキスト情報をアプリ登録の Service Management Reference に設定する必要があります。 これを行う必要がある場合、ユーザーはサービス接続の作成時にこの参照を指定できます。
詳細
新しい Azure サービス接続の作成エクスペリエンスは、翌月にロールアウトされます。 詳細については、以下を参照してください:
親ステージが失敗したときに子ステージを実行する
Azure Pipelines を使用してデプロイを続行しやすくしました。 これは、たとえば、Pipelines を使用して複数の Azure リージョンにアプリケーションの新しいバージョンをデプロイする場合に便利です。
たとえば、5 つの連続する Azure リージョンにデプロイする必要があるとします。 パイプラインにリージョンごとにステージがあり、各ステージに AzureResourceManagerTemplateDeployment
タスクを実行するジョブがあり、テレメトリをログに記録するとします。 後者は持っているのは良いですが、重要ではありません。 テレメトリのログ記録に問題があるとします。 これでステージが失敗し、デプロイが停止します。
このスプリント以降では、ステージが失敗したときに、その子ステージの実行を再開できます。
次のステップ
Note
これらの機能は、今後 2 ~ 3 週間にわたってロールアウトされます。
Azure DevOps に向かい、見てみましょう。
フィードバックの提供方法
これらの機能に関するご意見をお聞かせください。 ヘルプ メニューを使用して、問題を報告したり、提案を提供したりします。
Stack Overflow のコミュニティからアドバイスや質問に回答してもらうこともできます。