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

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

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

VSTS の新機能

機能

作業

コード

ビルドとリリース

認証

作業

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

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

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

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

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

コード

プル要求ポリシーがバイパスされたときに通知を受信する

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

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

pull request 内からブランチをお気に入りに追加する

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

ビルドとリリース

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

重要

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

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

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

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

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

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

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

デプロイ前とデプロイ後

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

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

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

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

コミットと作業項目

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

リリース環境のコミットと作業項目

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

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

環境ログのリリース

さらに、ログをクリックしてフォーカスされたビューを入力することもできます。これは、近日中にビューをビルドしてテストする予定です。

リリース環境ログの詳細

テスト結果と拡張性

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

リリース テスト結果

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

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

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

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

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

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

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

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

セルフホステッドの同時 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 で資格情報を保持する代わりに、サービス プリンシパル情報を使用して、Azure AD をサポートするすべての Azure リソース (Key Vault など) へのアクセス権を VM に付与できます。

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

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

通知

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

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

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

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

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

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

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

フィードバック メニュー

Stack Overflow のコミュニティからアドバイスや質問に回答してもらうこともできます。

よろしくお願いします。

ジェイミークール