このスプリントでは、ユーザーがAzureポータル内から直接デプロイ戦略を選択できるようにし、PipelinsとReposのユーザーエクスペリエンスにいくつかの改善を加えています。
- ジョブ内で前のステージから引き継いだoutput variablesにアクセスできるようになりました
- ビルドサービスがアクセス可能なレポを制限できるようになりました
- 複数のレポジトリに関する詳細な情報が取得できるようになりました
- Multi stageパイプラインの一般提供開始
- Azureポータルからデプロイ構成の設定が可能になりました
Azure DevOpsでProject administratorsに加えて、チーム管理者がSlackやMS Teamsから直接Azure Boards、Azure Repos、Azure Pipelinesのイベントを購読できるようになりました。
MS TeamsとSlackの統合機能の強化として、pull requestで発生したコメント、コードプッシュ、更新、マージ試行などのイベントを1つ以上選択して購読することができるようになりました。
pull requestの作成時に添付ファイルを追加できるようになりました。以前は添付ファイルを追加するには、以前はpull requestを作成してから編集する必要がありましたが、pull requestの作成ページに画像を直接ドラッグ&ドロップすることができるようになりました。
2つのリポジトリ設定ページを、単一の新しいWebプラットフォームエクスペリエンスにアップグレードしました。このアップグレードにより、エクスペリエンスがより速く、よりモダンになっただけでなく、これらのページはプロジェクトレベルからブランチレベルまでのすべてのポリシーのための単一のエントリーポイントを提供します。
この新しいエクスペリエンスでは、ロード時間が高速になり、検索フィルターが追加されたため、多数のリポジトリを持つプロジェクトにおけるナビゲーションがより簡単になりました。また、プロジェクトレベルのポリシーとクロスレポポリシーのリストは、Policiesタブにあります。
リポジトリをクリックすると、リポジトリレベルで設定されたポリシーとパーミッションの確認ができます。Policiesタブでは、ポリシーが設定されているすべてのブランチのリストの確認ができます。ブランチをクリックすると、リポジトリの設定ページから離れずにポリシーの確認ができます。
今回の更新で作業中のものよりも上位のスコープからポリシーが継承されている場合、各ポリシーの横に、そのポリシーがどこから継承されたかが表示されます。また、スコープ名をクリックすると、より上位のポリシーが設定されたページに移動できます。
ポリシーページ自体も、折りたたみ可能なセクションを持つ新しいウェブプラットフォームにアップグレードされました。特定のBuild Validation(ビルド検証)、Status Check、またはAutomatic Reviewerポリシーを探すときのエクスペリエンスを向上させるために、各セクションの検索フィルターを追加しました。
Output variablesはYAMLベースのパイプラインのステージ間で使われるようになりました。これは、Go/No-goの決定や生成された出力のIDのような有用な情報を1つのステージから次のステージへ渡す時役立ちます。前のステージとそのジョブの結果(status)も利用可能です。
Output variablesはジョブ内部のステップで生成された状態で維持されています。ステージではdependencies.jobName.outputs['stepName.variableName'],
を参照する代わりに、stageDependencies.stageName.jobName.outputs['stepName.variableName']
を参照してください。
注意事項
既定では、パイプラインの各ステージはYAMLファイルの直前のステージに依存します。したがって、各ステージは前のステージからのOutput variablesが使用可能です。依存関係グラフを変更することができ、どのOutput variablesが利用可能かを変更できます。たとえば、ステージ3がステージ1からの変数を必要とする場合、ステージ1への明示的な依存関係を宣言する必要があります。
アクセストークンの範囲を制限することでパイプラインのセキュリティを改善したことに基づいて、Azure PipelinesはYAMLベースのパイプラインに必要なレポだけにリポジトリアクセスをスコープダウンすることができるようになりました。これは、パイプラインのアクセストークンが漏洩した場合であっても、パイプラインで使用されているレポ以外は見られないようにできるということを意味します。以前は、アクセストークンはプロジェクト内の任意のAzure Reposリポジトリ、または潜在的にはコレクション全体に対して有効でした。
この機能は、新しいプロジェクトやOrganizationではデフォルトでオンになります。既存のOrganizationの場合は、Organization Settings > Pipelines > Settings で有効にする必要があります。この機能を使用する場合、ビルドで必要とされるすべてのリポジトリ(スクリプトを使用してクローンしたものであっても)がパイプラインのリポジトリリソースに含まれている必要があります。
パイプラインが実行されているとき、Azure Pipelinesは実行のトリガーとなったレポ、ブランチ、コミットに関する情報を追加します。YAMLパイプラインが複数のリポジトリのチェックアウトのサポートを開始したので、他のリポジトリのチェックアウトされたレポ、ブランチ、コミットを知りたいと思うかもしれません。このデータは実行時の式を介して利用可能で、変数にマップできます。たとえば、以下のようになります。
resources:
repositories:
- repository: other
type: git
name: MyProject/OtherTools variables:
tools.ref: $[ resources.repositories['other'].ref ]
steps:
- checkout: self
- checkout: other
- bash: echo "Tools version: $TOOLS_REF"
Multi-stageパイプラインUIの一般提供が開始されました。対応するプレビュー機能のトグルは削除されました。
Azure DevOps の左のナビゲーションメニューから Pipelines -> Pipelines を選択することで、新しいエクスペリエンスに移動できます。このエクスペリエンスは、YAMLパイプラインと同様にクラッシックビルドパイプラインの両方のエントリーポイントです。モバイルフレンドリーで、パイプラインを管理する方法に様々な改善をもたらします。パイプラインの詳細、実行の詳細、パイプライン分析、ジョブの詳細、ログなどをドリルダウンして表示できます。
マルチステージパイプラインのユーザーエクスペリエンスの詳細については、こちらのドキュメントをご覧ください。
この機能を使用することで、Rolling, Canary,Blue-Greenなど、選択した展開戦略を使用するパイプラインを簡単に構成できるようになりました。これらのアウトオブボックス戦略を使用することで、安全な方法でアップデートを展開し、関連する展開リスクの軽減ができます。これにアクセスするには、Azure仮想マシンの'Continuous Delivery'設定をクリックします。設定ペインで、パイプラインを作成するAzure DevOpsプロジェクト、deployment group、展開するパッケージを公開するビルドパイプライン、および選択したデプロイ戦略の詳細を選択するよう求められます。先に進むと、選択したパッケージをこの仮想マシンにデプロイする完全に動作するパイプラインが構成されます。
詳細については、デプロイ戦略の設定に関するドキュメントをご覧ください。
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
これらの新機能を読んだ後、次のリンクからぜひご自身でAzure DevOpsサービスを体験してみてください。
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。