リリースの進行状況を視覚化する – VSTS Sprint 135 Update

Sprint 135 Update of Visual Studio Team Services (VSTS) では、すべてのリリース アクティビティを視覚化するための新しい方法が提供されます。 新しい リリースの進行状況ビュー では、昨年開発された グラフィカル リリース定義エディター が表示され、進行状況と状態で点灯し、リリースを追跡して完全なコンテキストでアクションを実行できるようにします。

Work、Code、Build、Release の他にも、認証に関連する機能がいくつかあります。 以下の新機能を読み、VSTS に移動して自分で試してみてください。

VSTS の新機能

特徴

Work

コード

ビルドとリリース

認証

Work

継承されたプロセスのインポートとエクスポート

継承されたプロセスのインポートとエクスポートに役立つ新しいツールが GitHub で入手できるようになりました。 構成を他のユーザーと簡単に共有し、テスト アカウントでステージングすることで、より複雑な変更を行うときに自信を持って、プライマリ アカウントで構成を作成できるようになりました。 アジャイル チームの 1 つから開発されたこのツールをオープンソースすることにしました。これは、新しい API の一部を実装する方法の例として機能し、実際のワークフローに統合するために拡張する方法を確認する必要があるためです。 詳細については、 継承プロセス モデル のドキュメントを参照してください。

作業項目ハブの列オプションをカスタマイズする

[クエリ] と同様に、[列のオプション] を [作業項目] ハブで使用できるようになり、最も重要な作業項目をさらに個人用に整理できるようになりました。 また、複数の列で並べ替える場合は、複数列の並べ替えも可能になります。 詳細については、 作業項目ハブ のドキュメントを参照してください。

作業項目ハブの列オプション

コード

pull request ポリシーがバイパスされたときに通知を受信する

pull request (PR) ポリシーと ブランチ ポリシーを使用するチームの場合、ユーザーがこれらのポリシーをオーバーライドしてバイパスする必要がある場合があります。たとえば、夜間に運用環境の問題に修正プログラムを展開する場合などです。 開発者が正しいことを行い、オーバーライド機能を慎重に使用することを信頼することは理にかなっています。 同時に、チームは、これらのポリシーオーバーライドが適切な状況で使用されていることを確認する方法が必要です。 これをサポートするために、ポリシーがバイパスされるたびにユーザーとチームが電子メール アラートを受信できるように、新しい通知フィルターが追加されました。 まず、 プル要求が作成または更新された テンプレートから始め、フィルターの一覧から [ポリシー バイパス ] を選択します。 値として [ ポリシーがバイパスされました ] を選択すると、PR が完了するたびに通知され、ポリシーがバイパスされます。

ポリシー通知をバイパスする

pull request 内からのブランチのお気に入り

pull request を表示すると、ソース ブランチをお気に入りに簡単にマークできるようになりました。 starをクリックするだけで、お気に入りのブランチの一覧に追加できます。 その後、プル要求画面の [Mine ] の下にブランチが表示され、 すべての ブランチの一覧を検索する時間が節約されます。 詳細については、 ブランチの管理に関する ドキュメントを参照してください。

ビルドとリリース

リリースの進行状況を視覚化する

重要

この機能を使用するには、プロファイルまたはアカウントで [新しいリリース進行状況ビュー] プレビュー機能 が有効になっている必要があります。

新しいリリースの進行状況ビューが利用可能になりました。これにより、デプロイの進行状況のライブ更新と、詳細へのワンクリック アクセスが提供されます。 新しいビューでは、リリース パイプラインが視覚化されるため、何が起こっているかを理解しやすくなり、リリースのさまざまな段階で適切な詳細とアクションを表示できます。

リリース パイプライン ビュー

パイプライン、リリースの詳細、環境

[パイプライン] ビューには、リリースの成果物と、それらがデプロイされる環境が表示されます。 [リリース] 領域には、リリース トリガー、成果物のバージョン、タグなどのリリースの詳細が表示されます。

環境は、その状態と詳細な進行状況を理解するのに役立つ方法でモデル化されます。 環境内の状態リンクをクリックすると、いつでもログにアクセスできます。

成果物と環境をリリースする

デプロイ前とデプロイ後

環境に対してデプロイ前またはデプロイ後の条件が設定されている場合は、承認とゲートが存在する環境に示されます。 承認とゲートの進行状況は、環境の状態にも表示されます。 環境の右側または左側に表示されている環境の条件アイコンをクリックすると、アクションを実行したり、詳細を表示したりできます。

環境のリリース アクション

ゲートのグラフィカルビューとログを表示するためのクイックアクションは、リリースを動かし続けるのに役立ちます。

グラフィカル ビューとクイック アクション。

コミットと作業項目

環境をクリックすると、新しいリリースごとに、関連付けられているコミットと作業項目の一覧を環境ごとに個別に確認できます。 一覧が長い場合は、フィルターを使用して、関心のあるコミットまたは作業項目を見つけます。

環境のコミットと作業項目を解放する

デプロイの進行状況とログ

環境には、完了したフェーズとタスクの数や実行時間など、進行中のデプロイのライブ更新が表示されます。 環境の状態をクリックすると、ログを含むビューが開き、現在アクティブになっている内容がフォーカスされます。

環境ログのリリース

さらに、ログをクリックしてフォーカスされたビューを入力することもできます。ビューのビルドとテストも間もなく行われます。

リリース環境ログの詳細

テスト結果と拡張性

テスト実行の結果も環境ごとに表示されます。 テスト結果をクリックすると、プロセスに寄与する他の拡張機能からの結果を含むテストの詳細を含むビューが開きます。

リリース テスト結果

既存の拡張機能は、この新しいビューで機能します。さらに、拡張機能を開発して環境に関するさらに多くの情報を表示できるようにするための新しい機能拡張ポイントもあります。 詳細については、コントリビューションと拡張機能のドキュメントを参照してください。

パイプラインでインラインまたはファイルベースの Python スクリプトを実行する

新しい Python スクリプト タスクを使用すると、パイプラインでの Python スクリプトの実行が簡略化されます。 タスクはリポジトリ内の Python ファイル (.py) からスクリプトを実行するか、タスクの設定にスクリプトを手動で入力してパイプラインの一部として保存できます。 このタスクでは、パスで Python のバージョンが使用されます。または、使用する Python インタープリターへの絶対パスを指定できます。

パイプラインでデータ サイエンスに Anaconda ツールを使用する

Microsoft がホストするエージェントで Miniconda を使用できるようになりました。 conda パッケージと仮想環境マネージャーを使用すると、SciPy スタック、scikit-learn、CNTK、TensorFlow などの複雑なデータ サイエンスと機械学習環境を簡単にインストール、実行、アップグレードできます。 また、パイプラインに必要な Python のバージョンもインストールされます。

新しい組み込みの Conda 環境 タスクは、conda 環境の作成にも役立ちます。 後続のパイプライン ステップ用に環境をアクティブ化し、パッケージの依存関係をインストールし、パスに conda を追加し、必要に応じてエージェントを最新バージョンの conda にアップグレードします。

複数のエージェントレス タスクを使用して定義を簡略化する

エージェントレス フェーズのタスクは、 によって調整され、サーバー上で実行されます。 エージェントレス フェーズでは、エージェントやターゲット コンピューターは必要ありません。 エージェント フェーズとは異なり、定義内の各エージェントレス フェーズに追加できるタスクは 1 つだけです。 これは、プロセスに複数のエージェントレス タスクが存在する場合に複数のフェーズを追加する必要があり、定義が大きかったことを意味しました。 この制限を緩和しました。これにより、エージェントレス フェーズで複数のタスクを維持できます。 同じフェーズのタスクは、エージェント フェーズの場合と同様に、順番に実行されます。 詳細については、 サーバー フェーズ のドキュメントを参照してください。

セルフホステッド同時 CI/CD ジョブの制限を管理する

重要

セルフホステッド CI/CD を使用する場合は、コンカレンシーの制限をチェックし、予期しないビルドとリリースの待機時間を回避する計画を立てます。

VSTS の CI/CD の価格モデルは、セルフホステッド (プライベート) エージェントと Microsoft ホステッド エージェントの両方の同時実行ジョブの数に基づいています。 各 VSTS アカウントには、コンカレンシーの一定の空きクォータが付与されます。 それ以外にも、Visual Studio Enterprise サブスクリプションまたは Visual Studio Marketplace を使用して、追加のコンカレンシーを取得できます。

過去数か月間、お客様から報告された問題に対処するためにサービスのその部分を再設計したので、セルフホステッド エージェントで実行するジョブのコンカレンシー チェックを無効にしました。 その結果、セルフホステッド エージェントで許可されているのと同じ数のジョブを同時に実行できました。

6 月から、セルフホステッド ジョブのコンカレンシー チェックを徐々に有効にし直します。 そのため、それらのスロットが他の実行中のジョブによって占有されている場合、ビルドとデプロイはキュー内で長く待機する可能性があります。 ビルドまたはリリースのログ ページは、他のジョブの完了を待機しているときにこれを示します。

コンカレンシーの制限の詳細については、 Team Services の CI/CD 同時実行ジョブに 関するドキュメントを参照してください。 VSTS でコンカレンシーの制限をチェックするには、[アカウント設定] - [ビルドとリリース] ->> [リソースの制限] の順に移動します。

Azure 内のエージェント VM から Azure Resource Manager への認証を効率化する

ビルド エージェントとリリース エージェントを実行するには、複数の方法があります。 Azure で自分で実行する方が簡単で安全になりました。 Azure Active Directory (Azure AD) で Azure マネージド サービス ID を使用して Azure Virtual Machines (VM) ベースのエージェントを構成できるようになりました。 Azure VM に割り当てられた ID を付与することで、エンドポイントの VSTS で資格情報を保持する代わりに、そのサービス プリンシパル情報を使用して、Key Vaultなどの Azure AD をサポートする任意の Azure リソースへのアクセス権を VM に付与できます。

たとえば、コードで Azure Resource Managerを呼び出す必要がある場合は、Azure AD で Role-Based Access Control (RBAC) を使用して、VM のサービス プリンシパルに適切なロールを割り当てるだけです。 詳細については、 ビルド エージェントとリリース エージェントAzure マネージド サービス ID に関するドキュメントを参照してください。

[Azure Resource Manager サービス エンドポイントの追加] ダイアログ

通知

代替認証通知を使用してユーザー アカウントを保護する

ユーザー アカウントの代替認証が設定されると、変更を確認する通知が表示されるようになります。 これは、変更を正しく行ったことを二重にチェックするのに役立ちますが、変更を行わなかった場合にユーザー アカウントが侵害された可能性があることを示す初期のシグナルとしても役立ちます。 その場合は、ユーザー アカウントの制御を回復し、疑わしい代替認証構成を削除するアクションを実行できます。 通知が送信されるシナリオは 3 つあります。

  1. 個人用アクセス トークン (PAT) の作成
  2. SSH キーの登録
  3. 基本認証の有効化

詳細については、 認証 ドキュメントを参照してください。

VSTS PAT が電子メールを追加しました

フィードバックの提供方法

これらの機能に関するご意見をお聞かせください。 フィードバック メニューを使用して、問題を報告するか、Microsoft に優先順位を付ける必要がある事項に関するアイデアがある場合は、提案を提供します。

フィードバック メニュー

Stack Overflow のコミュニティが回答したアドバイスや質問を受けることもできます。

よろしくお願いします。

Jamie Cool