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