演習 - エージェントを使用してアプリケーションをビルドする

完了

ビルド エージェントが実行され、ビルド ジョブを受信できるようになったので、実際の様子を見てみましょう。 このユニットでは、Space Game Web サイトをビルドするために指定する基本ビルド構成に変更を加えて、Microsoft ホステッド エージェントではなく独自のエージェントを使用するようにします。

Note

以下の手順は、前のモジュール「Azure 上で動作するビルド エージェントを作成する」の手順を実行した直後に実行してください。

このユニットの最後には、省略可能な手順として、Microsoft Azure DevOps 組織からエージェント プールを削除できます。

GitHub からブランチをフェッチする

このセクションでは、GitHub から build-agent ブランチをフェッチし、そのブランチをチェックアウトします (つまりそのブランチに切り替えます)。

このブランチには、前のモジュールで作業した Space Game プロジェクトと、最初に使用する Azure Pipelines 構成が含まれています。

  1. Visual Studio Code から、統合ターミナルを開きます。

  2. Microsoft のリポジトリから build-agent という名前のブランチをダウンロードし、そのブランチに切り替えるために、次の git fetch および git checkout コマンドを実行します。

    git fetch upstream build-agent
    git checkout -B build-agent upstream/build-agent
    

    upstream とは Microsoft GitHub リポジトリを指していることを思い出してください。 Microsoft のリポジトリからプロジェクトをフォークしてローカルに複製したときにその関係をセットアップしたので、プロジェクトの Git 構成はアップストリーム リモートを認識します。

    すぐに、origin と呼ばれる独自の GitHub リポジトリにこのブランチをプッシュします。

  3. 必要に応じて、Visual Studio Code で、azure-pipelines.yml ファイルを開き、初期構成について理解します。

    構成は、「Azure Pipelines を使用してビルド パイプラインを作成する」モジュールで作成した基本的なものに似ています。 アプリケーションのリリース構成のみがビルドされます。

ビルド構成を変更する

このセクションでは、ビルド構成に変更を加えて、Microsoft ホステッド エージェントの使用からビルド プール内のエージェントの使用に切り替えます。

  1. Visual Studio Code で、azure-pipelines.yml ファイルを開いた後、pool セクションを探します。

    pool:
      vmImage: 'ubuntu-20.04'
      demands:
      - npm
    
  2. pool セクションを次のように変更します。

    pool:
      name: 'MyAgentPool'
      demands:
      - npm
    

    このバージョンでは、name を使用してエージェント プール MyAgentPool を指定します。 demands セクションを維持して、ビルド エージェントに npm (Node.js パッケージ マネージャー) がインストールされている必要があることを指定します。

  3. 統合ターミナルで、azure-pipelines.yml をインデックスに追加し、変更をコミットして、GitHub にブランチをプッシュします。

    git add azure-pipelines.yml
    git commit -m "Use private agent pool"
    git push origin build-agent
    

Azure Pipelines での独自ビルド エージェントの使用を注視する

ビルド エージェントを使用して、パイプラインで実行されるビルドを監視します。

  1. Azure DevOps で、Space Game - web - Agent プロジェクトに移動します。

  2. プロジェクト ページまたは左側のペインで、[Pipelines] を選択します。

  3. [最近実行したパイプライン] からパイプラインを選択し、最新の実行を選択します (MyAgentPool プールを使うようにパイプラインを更新したときに開始されたもの)。

  4. [ジョブ] を選択し、各ステップを通じて実行をトレースします。

    [Initialize job] タスクから、ビルドにビルド エージェントが使用されていることがわかります。

    A screenshot of Azure Pipelines running the build. The Initialize job task shows that it's running the build on the private agent named MyLinxuAgent.

省略可能: ビルド プールを削除する

将来参照するためにビルド プール構成を Azure DevOps 組織内に保持することができます。ただし、このモジュールの最後のクリーンアップ手順を実行した後には、エージェントをホストしている VM は使用できなくなることに注意してください。

実際、Azure DevOps はエージェントがオフラインであることを検出します。 Azure Pipelines は、次に MyAgentPool プールを使用してビルドがキューに入れられたとき、利用可能なエージェントをチェックします。

A screenshot of the agent pool in Azure DevOps showing that the build agent is offline.

オプションの手順として、Azure DevOps からビルド プール構成を削除できます。 以下にその方法を示します。

  1. Azure DevOps で、Space Game - web - Agent プロジェクトに移動します。

  2. [Project settings] を選択します。

  3. [パイプライン] で、[エージェント プール] を選択します。

    A screenshot of the project settings in Azure DevOps showing the location of the Agent pools menu item.

  4. [MyAgentPool] で、ごみ箱アイコンを選択してから、[削除] を選択します。

    A screenshot of Azure DevOps showing the location of where to remove the agent from the agent pool.