監査ログで使用できるリリース イベントとパイプライン イベント - Sprint 163 Update
Azure DevOps の Sprint 163 Update では、リリース イベントとパイプライン イベントを監査ログに追加しました。 さらに、サービス接続を使用して、YAML パイプライン内の別のorganization内のリポジトリを参照できるようになりました。
詳細については、以下の 機能 の一覧を参照してください。
機能
全般:
- Azure Boards、Azure Pipelines、Azure Reposから Microsoft Teams アプリでコンパクトで整理された通知を取得する
- Microsoft Teams または Slack チャネルで作成された一括サブスクリプションを削除する
Azure Pipelines:
Note
VSTest タスクがビルド エージェントで正しく動作するには、.NET 4.6.2 以降のインストールが必要です。
- パイプライン デコレーターを使用してデプロイ ジョブにステップを自動的に挿入する
- 他のAzure Repos組織へのリポジトリ参照を許可する
- ステップ のターゲット設定とコマンドの分離
- 監査のビルドとリリース
- パイプラインで成果物チェック ポリシーを評価するための機能強化
全般
Azure Boards、Azure Pipelines、Azure Reposから Microsoft Teams アプリでコンパクトで整理された通知を取得する
以前は、Microsoft Teams チャネルで受信した通知を手動で追跡する必要がありました。 多くの場合、さまざまなパイプライン、作業項目、または pull request からの通知がチャネルに同時に投稿されるため、それらを整理することが困難になり、チャネルが垂直方向に増加します。
Microsoft Teams アプリで、Azure Boards、Azure Pipelines、Azure Reposのスレッド化された通知をお知らせします。 これで、パイプライン、作業項目、または pull request に関連するすべての通知がスレッド化され、通知をより適切に整理し、タイムラインと最新の状態をコンパクトに表示できるようになります。
Note
この機能の使用を開始するために変更を加える必要はありません。
ここでは、pull request に関連するすべての通知は、Microsoft Teams 用のAzure Repos アプリでまとめてスレッド化されます。
Microsoft Teams または Slack チャネルで作成された一括サブスクリプションを削除する
現時点では、Microsoft Teams と Slack 用の Azure Pipelines アプリとAzure Repos アプリで一括サブスクリプションを作成できます。 これで、チャネル内の個々のパイプラインまたはリポジトリ用に作成されたすべてのサブスクリプションをすばやく削除できます。 unsubscribe all コマンドを使用すると、特定のプロジェクトのチャネル内のすべてのサブスクリプションを削除できます。 詳細については、 こちらのドキュメントを参照してください。
Microsoft Teams 用 Azure Pipelines アプリで特定のプロジェクトのチャネル内のすべてのサブスクリプションを削除するには、次のコマンドを使用します。
@azure pipelines unsubscribe all https://dev.azure.com/myorg/myproject
Azure Pipelines
パイプライン デコレーターを使用してデプロイ ジョブにステップを自動的に挿入する
パイプライン デコレーターをデプロイ ジョブに追加できるようになりました。 任意のカスタム ステップ (脆弱性スキャナーなど) を、すべてのデプロイ ジョブのすべての ライフ サイクル フック 実行に自動的に挿入できます。 パイプライン デコレーターは、organization内のすべてのパイプラインに適用できるため、これは安全なデプロイ プラクティスの実施の一環として利用できます。
さらに、デプロイ ジョブは、定義されている場合、サービス サイド カーと共にコンテナー ジョブとして実行できます。
他のAzure Repos組織へのリポジトリ参照を許可する
以前は、YAML パイプラインでリポジトリを参照する場合、すべてのAzure Repos リポジトリがパイプラインと同じorganizationに存在する必要がありました。 これで、サービス接続を使用して、他の組織のリポジトリをポイントできるようになりました。 次に例を示します。
resources:
repositories:
- repository: otherrepo
name: ProjectName/RepoName
endpoint: MyServiceConnection
steps:
- checkout: self
- checkout: otherrepo
MyServiceConnection
は別の Azure DevOps organizationをポイントし、別のプロジェクトのリポジトリにアクセスできる資格情報を持っています。 リポジトリ self
と otherrepo
の両方がチェックアウトされます。
重要
MyServiceConnection
は、Azure Repos/Team Foundation Server サービス接続である必要があります。下の図を参照してください。
ステップ のターゲット設定とコマンドの分離
Azure Pipelines では、コンテナーまたはエージェント ホストでのジョブの実行がサポートされています。 以前は、ジョブ全体がこれら 2 つのターゲットのいずれかに設定されていました。 これで、選択したターゲットで個々のステップ (タスクまたはスクリプト) を実行できるようになりました。 ステップは他のコンテナーをターゲットにすることもできます。そのため、パイプラインは専用の専用コンテナーで各ステップを実行できます。
注意
この機能はパブリック プレビュー段階にあります。 この機能に関するフィードバックや質問がある場合は、Developer Communityでお知らせください。
コンテナーは分離境界として機能し、コードがホスト コンピューターで予期しない変更を行うのを防ぐことができます。 ステップがエージェントと通信してサービスにアクセスする方法は、コンテナー内のステップを分離しても影響を受けません。 そのため、ステップ ターゲットで使用できるコマンド制限モードも導入されています。 これをオンにすると、ステップでエージェントに要求できるサービスが制限されます。 ログのアタッチ、成果物のアップロード、およびその他の特定の操作はできなくなります。
ジョブ コンテナー内のホストと別のコンテナーでの実行手順を示す包括的な例を次に示します。
resources:
containers:
- container: python
image: python:3.8
- container: node
image: node:13.2
jobs:
- job: example
container: python
steps:
- script: echo Running in the job container
- script: echo Running on the host
target: host
- script: echo Running in another container, in restricted commands mode
target:
container: node
commands: restricted
監査のビルドとリリース
リリース イベントとパイプライン イベントが監査ログで利用できるようになったことをお知らせします。 これらのイベントには、 組織の設定 -> 監査からアクセスできます。
次のイベントが利用可能になりました。
- エージェント プール - エージェントの作成、削除、エージェント (プライベート エージェント) の追加、および エージェントの削除
- サービス接続 - 実行、作成、削除、更新
- 変数グループ - 作成、削除、更新
- リリース - 削除済み、承認完了、定義の更新
- RM ステージが完了しました
- デプロイ ジョブが完了しました
パイプラインで成果物チェック ポリシーを評価するための機能強化
評価成果物のチェックを強化して、すぐに使用できるポリシー定義の一覧からポリシーを追加しやすくしました。 ポリシー定義が自動的に生成され、必要に応じて更新できるチェック構成に追加されます。
次の手順
Note
これらの機能は、今後 2 ~ 3 週間にわたってロールアウトされます。
Azure DevOps に向かい、見てみましょう。
フィードバックの提供方法
これらの機能に関するご意見をお聞かせください。 ヘルプ メニューを使用して、問題を報告したり、提案を提供したりします。
Stack Overflow のコミュニティが回答したアドバイスや質問を受けることもできます。
よろしくお願いします。
Roopesh Nair