ダッシュボードの管理とパイプラインのセキュリティを改善しました - Sprint 218
今回の更新では、ダッシュボードが最後に表示または変更された時刻を追跡する機能が追加されました。この改善により、プロジェクト管理者は、ダッシュボードを削除するかどうかという判断を最終履歴を使って評価することができ、保存されたダッシュボードの上限の到達を防ぐことが可能になります。
また、セキュリティへの投資も継続しています。GitHub Enterprise Serverでホストされたパイプラインを作成する際のデフォルトの認証メカニズムがOAuth2となります。
詳しくはリリースノートをご覧ください。
Azure Pipelines
- Nodeランナーのダウンロードタスクを追加しました
- TFX Nodeランナーの検証が実行できるように更新しました
- ジョブの状態が変更された時にイベントが発生するサービスフックを追加しました
- GitHub Enterprise Serverのセルフホストパイプライン使用時のセキュリティを改善しました
Reporting
Azure Pipelines
Nodeランナーのダウンロードタスクを追加しました
Node 6タスクランナーを除外したエージェントリリースを採用する場合、新しいNodeランナーを使用するように更新されていないタスクを実行しなければならい場合があります。このシナリオのために、Node End-of-Lifeランナーに依存するタスクを引き続き使用する方法を提供します(Node runner guidanceというタイトルのブログを参照してください)。
以下のタスクは、Node 6ランナーを実行時にインストールする方法であり、古いタスクでもまだ実行できるようにします。
steps:
- task: NodeTaskRunnerInstaller@0
inputs:
runnerVersion: 6
TFX Nodeランナーの検証が実行できるように更新しました
タスク作成者は、拡張機能を公開するために拡張機能パッケージングツール(TFX)を使用します。TFXは、Nodeランナーのバージョンに関する検証を実行するように更新されました。詳細はブログを参照してください。
Node 6ランナーを使用するタスクを含む拡張機能には、この警告が表示されます。
Task <TaskName> is dependent on a task runner that is end-of-life and will be removed in the future. Authors should review Node upgrade guidance: https://aka.ms/node-runner-guidance.
ジョブの状態が変更された時にイベントが発生するサービスフックを追加しました
サービスフックを使用すると、パイプラインランの状態が変化を起こすイベントに反応できます。今まで、パイプラインの実行状態やステージの状態変化に対してサービスフックを設定することができました。
今回から、パイプラインランのジョブの状態が変化したときに呼び出されるサービスフックの設定が可能です。新しいイベントのペイロード構造は、次の例のとおりです。
{
"subscriptionId": "8d91ad83-1db5-4d43-8c5a-9bb2239644b1",
"notificationId": 29,
"id": "fcad4962-f3a6-4fbf-9653-2058c304503f",
"eventType": "ms.vss-pipelines.job-state-changed-event",
"publisherId": "pipelines",
"message":
{
"text": "Run 20221121.5 stage Build job Compile succeeded.",
"html": "Run 20221121.5 stage Build job <a href=\"https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088\">Compile</a> succeeded.",
"markdown": "Run 20221121.5 stage Build job [Compile](https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088) succeeded."
},
"detailedMessage":
{
"text": "Run 20221121.5 stage Build job Compile succeeded.",
"html": "Run 20221121.5 stage Build job <a href=\"https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088\">Compile</a> succeeded.",
"markdown": "Run 20221121.5 stage Build job [Compile](https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088) succeeded."
},
"resource":
{
"job":
{
"_links":
{
"web":
{
"href": "https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088"
},
"pipeline.web":
{
"href": "https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/definition?definitionId=4647"
}
},
"id": "e87e3d16-29b0-5003-7d86-82b704b96244",
"name": "Compile",
"state": "completed",
"result": "succeeded",
"startTime": "2022-11-21T16:10:28.49Z",
"finishTime": "2022-11-21T16:10:53.66Z"
},
"stage": { ... },
"run": { ... },
"pipeline": { ... },
"repositories": [ ... ]
},
"resourceVersion": "5.1-preview.1",
"createdDate": "2022-11-21T16:11:02.9207334Z"
}
実行、ステージ、およびジョブの状態変更サービスフックイベントに、パイプラインの実行によって参照されるAzure Reposを列挙するrepository
プロパティが含まれるようになりました。例えば、以下のようなものです。
"repositories":
[
{
"type": "Git",
"change":
{
"author":
{
"name": "Fabrikam John",
"email": "john@fabrikamfiber.com",
"date": "2022-11-11T15:09:21Z"
},
"committer":
{
"name": "Fabrikam John",
"email": "john@fabrikamfiber.com",
"date": "2022-11-11T15:09:21Z"
},
"message": "Added Viva support"
},
"url": "https://fabrikamfiber@dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_git/fabrikamfiber"
}
]
GitHub Enterprise Serverのセルフホストパイプライン使用時のセキュリティを改善しました
以前は、認証メカニズムとしてPersonal access tokenを使うという選択肢しかありませんでした。これは、安全性の低いサービス接続となってしまいました。
今回のスプリントから、パイプライン作成時やサービス接続の追加時など、GHESのサービス接続を作成する際のデフォルトの認証メカニズムをOAuth2に変更しました。
Reporting
DashboardにLast Accessed DateとModified By列を追加しました
チームが複数のダッシュボードを作成できるようにする際の課題のひとつは、古くなったり使われなくなったダッシュボードの管理と後始末です。ダッシュボードが最後にアクセスまたは変更された日時を知ることは、どのダッシュボードを削除できるかを理解する上で重要な要素になります。今回のスプリントでは、Dashboardsディレクトリページにふたつの新しいカラムを追加しました。Last Accessed Dateは、ダッシュボードが最後にアクセスされた日時を記録します。Modified Byは、ダッシュボードが最後に編集された日時と、その編集者を記録します。
Modified Byの情報は、ダッシュボードページ自体にも表示されます。
これらの新しいフィールドは、プロジェクト管理者がダッシュボードのアクティビティレベルを理解し、削除すべきかどうかの判断に役立つことを期待しています。
Next steps
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
Azure DevOpsサービスを体験してみてください。
How to provide feedback
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Rajesh Ramamurthy