この記事の内容
Azure DevOpsのSprint 147の更新では、プロキシをサポートするためにさまざまなアーティファクト関連のPipelinesタスクを更新しました。 このアップデートにより、プロキシはnpm、NuGet、.NET Core、Universal Packagesの各タスクで機能するようになりました。
詳細は以下の機能一覧をご覧ください。
Azure Repos:
Azure Pipelines:
- 削除したリリースパイプラインの復元
- 新しいパイプラン用のYAMLファイルを私たちのbotではなく、あなたのアイデンティティでコミットします
- パイプライン作成時、任意のブランチもしくは、パスから既存のYAMLファイルを指定する
- GitHub pull requestコメントを使ったパイプラインの実行
- pull requestの検証ビルドの開始をチームメンバーの承認を必要とするように制限をかける
- 長いファイルパスのビルド成果物を発行する
- パイプラインのTestタブでの拡張機能用の新しいコントリビューションポイント
Azure Artifacts:
Wiki:
Administration:
現在、pull requestでファイルの変更を表示するときには、Side-by-side diff(訳注:差分を横に並べてみる方法)またはインライン差分モードを使用できます。比較せずに、元のファイルまたは変更されたファイルを見たいという方が多いというフィードバックをいただきました。そこで、左側のファイルまたは右側のファイルを個別に表示できるようにするための新しいオプションを追加しました。
未使用のリリースパイプラインを削除すると、リリースパイプラインリストをきれいにできますが、誤って何かを削除することがあります。今回の機能強化により、過去30日以内に削除されたリリースパイプラインを復元することが可能になりました。削除されたリリースパイプラインのリストを表示する新しいタブをリリースページの左側パネルに追加しました。このビューから、リストからパイプラインを選択してRestoreボタンをクリックすると、削除したリリースパイプラインの復元ができます。
パイプラインを作成している間、Azure PipelinesはオプションでYAMLファイルをリポジトリにコミットしてからパイプラインのpull requestを作成します。リポジトリがGitHub上にあり、Azure Pipelines GitHub Appがインストールされている場合、以前はコミットとpull requestは"Azure Pipelines [bot]"のように、GitHub Appによって作成されたように見えました。今回の更新で、GitHub Appの代わりに、あなたのGitHub IDをパイプラインの作成者として表示します。
現時点では、Azure Pipelinesは新しいパイプラインを作成するときにデフォルトブランチのリポジトリのルートにあるazure-pipelines.yml
または.azure-pipelines.yml
という既存の名前のYAMLファイルを自動的に検出して使用します。 今回の更新では、別の名前またはパスを持つ、または既定以外のブランチにある既存のAzure Pipelines YAMLファイルを選択できるようになりました。
既存のファイルを選択するには、New build pipelineウィザードの構成ページからExisting Azure Pipelines YAML fileを選択します。次に、ブランチを選択してYAMLファイルパスを選択して選択します。
今回の機能強化では、PRのコメントセクションからGitHub pull requestを検証するためのパイプラインまたはテストスイートを実行できます。すべてのownerまたはcontributorは、ビルドをトリガーするために/AzurePipelines run
または/AzurePipelines run <pipeline_name>
を使用してpull requestにコメントできます。
/AzurePipelines
モニカーを/azp
と省略することもできます。この機能タイプの詳細については、/azp
ヘルプを参照してください。
ブランチの品質を保護するために、pull request検証ビルドを使うのは良い習慣です。今までは、これらの検証ビルドはGitHubのpull requestによって自動的に起動されていましたが、レビューがない状態でビルドが開始されていたためリスクがありました。
今回の更新で、pull requestの検証ビルドの開始を自分のチームに承認してもらうように要求できます。これを行うには、パイプラインの設定でTriggerタブを選択します。 次に、Pull request validationで、Only trigger builds for collaborators' pull request commentsを有効にして、パイプラインを保存します。
こうすることにより、pull requestの検証ビルドは自動的には起動されません。pull requestのコメントに/AzurePipelines run
または/AzurePipelines run <pipeline_name>
を書くことで、リポジトリのownerまたは、contributorは検証ビルドをトリガーできます。
これまで、233文字を超えるパスを持つビルド成果物をアップロードできないという制限がありました。このため、LinuxおよびmacOSビルドでのコードカバレッジ結果を制限よりも長いファイルパスを使っていた場合、アップロードできなくなる可能性がありました。今回の機能強化で、ロングパスをサポートするように制限を拡張しました。
このスプリントでは、PipelinesのTest Resultsタブに2つの新しいコントリビューションポイントを追加して、拡張フレームワークをより強力にしました。これにより、Marketplaceの拡張機能は、よりカスタマイズされたレポート作成エクスペリエンスを提供し、さらに対話機能を追加することができます。
2つのコントリビューションポイントは以下のとおりです。
- ツールバーのカスタムアクションボタン
テスト結果のメタデータを使用してAPIのデータを更新したり、カスタムツールを実行したりするなどのアクションを実行したい場合があります。このコントリビューションポイントを使用して、選択したテスト結果の直接のコンテキストを使用して *Custom Action-ボタンにカスタムアクションを追加する拡張機能を作成できます。
- 詳細ペインのCustom Detailsタブ
あなたは多種多様なテストレポート消費ワークフローを持っているかもしれず、デバッグと分析のために失敗したテストに対して異なるデータポイントを見たいと思うかもしれません。このコントリビューションポイントを使用することで、チームはデータグリッドでテスト結果行を選択したときに表示される新しいタブを詳細ペインに追加できます。この新しいタブでは、内部APIまたは外部APIを使用して取得された静的コンテンツまたは動的データを含むビューを表示できます。
これまで、多くのアーティファクト関連のビルドタスクではAzure Pipelinesのプロキシインフラストラクチャが完全にサポートされていなかったため、オンプレミスエージェントのタスクを使用するのは困難でした。今回の更新で、以下のタスクにプロキシのサポートを追加しました。
- npm
- NuGet - restore と push コマンドのみ
- .NET Core CLI - restore と NuGet push コマンドのみ
- Universal Packages
- .NET Core Tool Installer, NuGet Tool Installer, Node.js Tool Installer
- npm Authenticate, Pip Authenticate, Twine Upload Authenticate
重要
これらのタスクでは、基盤となるツール自身が使用するプロキシの設定は行いません(npm、pip、twine)。認証トークンの取得中にプロキシをサポートしますが、それでもプロキシを使用するように後続のタスク/スクリプト/ツールを設定する必要があります。
Azure Artifactsでは、Project Collection Administrators(PCA)は常にAzure DevOps組織のすべてのフィードを管理できました。今回の更新により、PCAは他のユーザーやグループにもこの機能を付与できるようになるので、フィード管理機能の委任ができます。
今まで、リンクされたページの名前が変更されたり移動されたりすると、共有Wikiページリンクが壊れていました。今回の更新では、URLにページIDを追加することで、永続的なリンクの作成ができるようになりました。これにより、Wikiが時間の経過とともに変化しても、共有するリンクが損なわれないようになります。
この機能は、この提案チケットに基づいて優先されました。
今回の更新では、作業ページのステータスとそのIDおよびタイトルをページに追加することで、Wikiページでの作業項目への言及を強化しました。
pull requestのコメントやボードディスカッションでの作業項目の参照にもステータスが表示されます。
この機能はこの提案に基づいて優先順位がつけられました。
このスプリントで、すべてのユーザーが新しいナビゲーションに移行しました。ユーザーが以前のナビゲーションモデルに戻ることができるようにするプレビュー機能の切り替えを削除しました。Webポータル内の移動の詳細については、Web portal navigation in Azure DevOpsを参照してください。
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
これらの新機能を読んだ後、次のリンクからぜひご自身でAzure DevOpsサービスを体験してみてください。
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Alex Mullans