演習 - 環境を設定する

完了

このセクションでは、このモジュールの残りの部分を完了するために、Azure DevOps 組織が確実に設定されるようにします。 また、デプロイ先の Azure App Service 環境を作成します。

これらの目的を達成するには、次の作業を行います。

  • ユーザーを追加して、Azure DevOps が Azure サブスクリプションに接続できるようにします。
  • このモジュール用の Azure DevOps プロジェクトを設定します。
  • Azure Boards 上で、このモジュールの作業項目を [実行中] 列に移動します。
  • 変更をパイプラインにプッシュできるように、ローカルでプロジェクトが設定されていることを確認します。
  • Azure Cloud Shell で Azure CLI を使用して、Azure App Service 環境を作成します。
  • App Service 環境の名前を定義するパイプライン変数を作成します。
  • Azure Pipelines で Azure サブスクリプションに安全にアクセスできるようにするサービス接続を作成します。
  • 最初のデプロイを実行します。

Azure DevOps にユーザーを追加する

このモジュールを完了するには、自分の Azure サブスクリプションが必要です。 Azure は無料で使用開始できます。

Azure DevOps を操作するために Azure サブスクリプションは必要ありませんが、ここでは Azure DevOps を使用して、Azure サブスクリプション内に存在するリソースにデプロイします。 このプロセスを簡略化するには、お使いの Azure サブスクリプションと自分の Azure DevOps 組織の両方に、同じ Microsoft アカウントを使用してサインインします。

異なる Microsoft アカウントを使用して Azure と Azure DevOps にサインインする場合は、Azure へのサインインに使用する Microsoft アカウントで、DevOps 組織にユーザーを追加します。 詳細については、自分の組織またはプロジェクトへのユーザーの追加に関するページを参照してください。 ユーザーを追加する際、Basic アクセス レベルを選択します。

その後、Azure DevOps からサインアウトし、Azure サブスクリプションへのサインインに使用する Microsoft アカウントでもう一度サインインします。

Azure DevOps プロジェクトを取得する

ここでは、このモジュールの残りの部分を完了するために、Azure DevOps 組織が確実に設定されるようにします。 これを設定するには、Azure DevOps でテンプレートを実行して、プロジェクトを作成します。

このラーニング パスのモジュールは、段階的に進めるラーニング パスの一部となっています。 Tailspin Web チームの DevOps 導入作業を見ていきます。 学習目的のために、各モジュールには Azure DevOps プロジェクトが関連付けられています。

テンプレートの実行

Azure DevOps 組織を設定するテンプレートを実行します。

Azure DevOps Demo Generator サイトで、これらの手順に従ってテンプレートを実行します。

  1. [Sign In] を選択し、利用規約に同意します。

  2. [新しいプロジェクトの作成] ページで、自分の Azure DevOps 組織を選択します。 次に、プロジェクト名を「Space Game - web - Deployment patterns」のように入力します。

    Screenshot that shows how to create a project through the Azure DevOps Demo Generator.

  3. [Yes, I want to fork this repository] を選択します。 次に、[Authorize] を選択します。

  4. [プロジェクトの作成] を選択します。

    テンプレートの実行には少し時間がかかります。

  5. [プロジェクトに移動] を選択して Azure DevOps のプロジェクトに移動します。

重要

このモジュールの「Azure DevOps 環境をクリーンアップする」ページには、重要なクリーンアップ手順が含まれています。 クリーンアップによって、無料のビルド時間の浪費を抑えることができます。 クリーンアップ手順は、このモジュールを完了しなかった場合でも必ず行ってください。

プロジェクトの可視性を設定する

最初は、GitHub 上の Space Game リポジトリのフォークはパブリックに設定され、Azure DevOps テンプレートによって作成されたプロジェクトはプライベートに設定されます。 GitHub 上のパブリック リポジトリには誰でもアクセスできますが、プライベート リポジトリには自分のほかに共有することを選択したユーザーのみがアクセスできます。 同様に、Azure DevOps では、パブリック プロジェクトでは認証されていないユーザーに読み取り専用アクセスを提供しますが、プライベート プロジェクトではユーザーがサービスにアクセスするにはアクセス権の付与と認証が必要です。

現時点では、このモジュールにおいてこれらの設定を変更する必要はありません。 ただし、個人のプロジェクトでは、他のユーザーに付与する可視性とアクセス権を決定する必要があります。 たとえば、プロジェクトがオープンソースの場合は、GitHub リポジトリと Azure DevOps プロジェクトの両方をパブリックにすることを選択できます。 プロジェクトが独自のものである場合は、GitHub リポジトリと Azure DevOps プロジェクトの両方をプライベートにするのが一般的です。

後で、プロジェクトに最適なオプションを決定する際に、次のリソースが役立つ場合があります。

作業項目を [実行中] に移動する

このパートでは、Azure Boards でこのモジュールに関連した作業項目を自分に割り当てます。 また、作業項目を [実行中] 状態に移動します。 実際には、あなたのチームが、各 "スプリント" (作業イテレーション) の開始時に作業項目を作成することになります。

このように作業を割り当てることで、作業の起点となるチェックリストが得られます。 これにより、あなたの作業内容と残っている作業量をチームが把握できます。 また、チームがあまりに多くの作業を一度に引き受けることがないように、進行中の作業 (WIP) に制限を適用するのに役立ちます。

現在のスプリントでは、以下が優先課題であることをチームで決定したことを思い出してください。

Screenshot of Azure Boards that shows the tasks for this sprint.

Note

Azure DevOps 組織内では、作業項目に順番に番号が付けられます。 ご自分のプロジェクトでは、各作業項目の番号が、ここに示すものと一致しない場合があります。

ここでは、5番目の項目 [Improve release cadence][実行中] 列に移動します。 その後、自分をその作業項目に割り当てます。 [Improve release cadence] は、変更を迅速にユーザーにリリースできるようにするデプロイ パターンを選択することに関係しています。

作業項目を設定するには、次のようにします。

  1. Azure DevOps で、[Boards] に移動してから、メニューから [Boards] を選択します。

    Screenshot of Azure DevOps that shows the location of the Boards menu.

  2. [Improve release cadence] 作業項目の下部で、下向きの矢印を選択します。 その後、作業項目をご自身に割り当てます。

    Screenshot of Azure Boards that shows the location of the down arrow.

  3. 作業項目を [作業予定] 列から [実行中] 列に移動します。

    Screenshot of Azure Boards that shows the card in the Doing column.

このモジュールの最後には、タスク完了後にこのカードを [完了] 列に移動します。

プロジェクトをローカルで設定する

ここでは、スタート コードをダウンロードできるように、Visual Studio Code への Space Game プロジェクトの読み込み、Git の構成、リポジトリのローカルへのクローン、アップストリーム リモートの設定を行います。

注意

既にローカルで mslearn-tailspin-spacegame-web-deploy プロジェクトを設定している場合は、次のセクションに進むことができます。

統合ターミナルを開く

Visual Studio Code には、統合ターミナルが付属しています。 ここでは、ファイルの編集とコマンドラインからの操作の両方を行います。

  1. Visual Studio Code を起動します。

  2. [View] メニューで、[Terminal] を選択します。

  3. ドロップダウン リストで [Git Bash] を選びます。 慣れている Unix シェルが他にあり、そちらを使用する場合は、代わりにそのシェルを選択します。

    A screenshot of Visual Studio Code showing the location of the Git Bash shell.

    ターミナル ウィンドウでは、システムにインストールされている任意のシェルを選択できます。 たとえば、Git Bash、PowerShell、または別のシェルを選択できます。

    ここでは、Git for Windows に含まれる Git Bash を使用します。これにより、Git コマンドの実行が簡単になります。

    Note

    Windows で、Git Bash がオプションとして表示されない場合は、Git がインストール済みであることを確認してから、Visual Studio Code を再起動してください。

  4. cd コマンドを実行して、作業場所にするディレクトリに移動します。 ホーム ディレクトリ (~)、または必要に応じて別のディレクトリを選択します。

    cd ~
    

Git を構成する

Git と GitHub を初めて使用する場合は、最初にいくつかのコマンドを実行して、自分の ID を Git に関連付け、GitHub で認証します。 詳細については、Git の設定に関するページを参照してください。

少なくとも、次の手順を完了する必要があります。 統合ターミナルからコマンドを実行します。

  1. ユーザー名を設定します。
  2. コミット メール アドレスを設定します。
  3. GitHub パスワードをキャッシュします。

注意

GitHub で既に 2 要素認証を使用している場合は、個人用アクセス トークンを作成します。 プロンプトが表示されたら、パスワードの代わりにトークンを使用します。

アクセス トークンは、パスワードと同様に扱います。 安全な場所に保管してください。

Visual Studio Code でプロジェクトを設定する

Azure DevOps を使用してアプリケーションをビルドする」ラーニング パスでは、Git リポジトリをフォークしてからクローンしました。 リポジトリには、Space Game Web サイトのソース コードが含まれています。 フォークは Azure DevOps 内のプロジェクトに接続されており、変更を GitHub にプッシュするとビルドが実行されるようになっています。

重要

このラーニング パスでは、別の Git リポジトリ (mslearn-tailspin-spacegame-web-deploy) に切り替えます。 テンプレートを実行して Azure DevOps プロジェクトを設定したときに、プロセスによってリポジトリが自動的にフォークされました。

このパートでは、パイプライン構成を変更して構築できるように、フォークをローカルにクローンします。

フォークをローカルに複製する

ご自分の GitHub アカウントに Space Game Web プロジェクトのコピーが作成されています。 次に、コンピューターにコピーをダウンロード ("クローン") して作業できるようにします。

クローンは、フォークと同様にリポジトリのコピーです。 リポジトリをクローンしたら、変更を加え、予期したとおり機能することを確認してから、それらの変更を GitHub にアップロードすることができます。 ローカル コピーは、他の認証済みユーザーが、GitHub のご自分のリポジトリのコピーに対して行った変更と同期させることもできます。

Space Game Web プロジェクトをコンピューターにクローンするには、次のようにします。

  1. GitHub にある Space Game Web プロジェクト (mslearn-tailspin-spacegame-web-deploy) のフォークにアクセスします。

  2. [コード] を選択します。 次に、[HTTPS] タブで、URL を自分のクリップボードにコピーできるように表示されている URL の横のボタンを選択します。

    Screenshot that shows how to locate the URL and copy button from the GitHub repository.

  3. Visual Studio Code で、ターミナル ウィンドウに移動します。

  4. ターミナルで、作業場所のディレクトリに移動します。 ホーム ディレクトリ (~)、または必要に応じて別のディレクトリを選択します。

    cd ~
    
  5. git clone コマンドを実行します。 ここに表示されている URL をクリップボードの内容に置き換えます。

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
    
  6. mslearn-tailspin-spacegame-web-deploy ディレクトリに移動します。 これはリポジトリのルート ディレクトリです。

    cd mslearn-tailspin-spacegame-web-deploy
    

アップストリーム リモートを設定する

"リモート" とは、チーム メンバーが (GitHub のリポジトリのように) 共同作業する Git リポジトリです。 ここでは、リモートを一覧表示し、最新のサンプル コードを取得できるように、Microsoft のリポジトリのコピーを指すリモートを追加します。

  1. 次の git remote コマンドを実行して、自分のリモートを一覧表示します。

    git remote -v
    

    リポジトリに対してフェッチ (ダウンロード) とプッシュ (アップロード) の両方のアクセスがあることがわかります。

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    

    origin により、GitHub 上のリポジトリが明示されています。 別のリポジトリからコードをフォークする場合は、元のリモート (フォーク元) に「upstream」という名前を付けるのが一般的です。

  2. 次の git remote add コマンドを実行して、Microsoft リポジトリを指す「upstream」という名前のリモートを作成します。

    git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
    
  3. もう一度 git remote を実行して変更を確認します。

    git remote -v
    

    リポジトリに対して、まだフェッチ (ダウンロード) アクセスとプッシュ (アップロード) アクセスの両方があることがわかります。 今度は、Microsoft リポジトリへのフェッチ アクセスもあります。

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    

エクスプローラーでプロジェクトを開く

Visual Studio Code のターミナル ウィンドウは、Space Game Web プロジェクトのルート ディレクトリを指し示しています。 その構造を表示し、ファイルを操作するには、ファイル エクスプローラーから、ここでプロジェクトを開きます。

  1. プロジェクトを開く最も簡単な方法は、現在のディレクトリで Visual Studio Code を再度開くことです。 これを行うには、統合ターミナルから次のコマンドを実行します。

    code -r .
    

    エクスプローラーでディレクトリとファイル ツリーを確認します。

  2. 統合ターミナルをもう一度開きます。 ターミナルでは、ご使用の Web プロジェクトのルートに表示されます。

code コマンドが失敗した場合は、ご使用のシステム PATH に Visual Studio Code を追加する必要があります。 そのためには次を行います。

  1. Visual Studio Code で、[F1] を選択するか、[表示]>[コマンド パレット] を選択して、コマンド パレットにアクセスします。
  2. コマンド パレットで、「シェル コマンド:PATH 内に 'code' コマンドをインストールします」と入力します。
  3. 前の手順を繰り返して、ファイル エクスプローラーでプロジェクトを開きます。

これで、Space Game のソース コードと Azure Pipelines 構成をローカル開発環境から操作できるように設定されました。

Azure App Service 環境を作成する

ここでは、パイプラインのステージを定義する環境を作成します。 各ステージ ("開発"、"テスト"、および "ステージング") に対応する 1 つの App Service インスタンスを作成します。

以前のモジュールでは、Azure CLI を使用して App Service インスタンスを作成しました。 ここでは同じことを行います。

重要

このモジュールの演習を完了するには、自分の Azure サブスクリプションが必要です。

Azure portal から Cloud Shell を起動する

  1. Azure Portal にアクセスしてサインインします。
  2. メニューで、[Cloud Shell] を選択します。 プロンプトが表示されたら、[Bash] エクスペリエンスを選択します。

Azure リージョンを選択する

ここでは、Azure リソースが作成される場所となる、既定の "リージョン" (すなわち地理的な場所) を指定します。

  1. Cloud Shell で次の az account list-locations コマンドを実行して、お使いの Azure サブスクリプションで使用可能なリージョンの一覧を表示します。

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. 出力の Name 列から、最寄りのリージョンを選択します。 たとえば、eastasiawestus2 を選択します。

  3. az configure を実行して、自分の既定のリージョンを設定します。 <[リージョン]> を、選択したリージョンの名前に置き換えます。

    az configure --defaults location=<REGION>
    

    この例では、westus2 を既定のリージョンとして設定します。

    az configure --defaults location=westus2
    

App Service インスタンスを作成する

ここでは、デプロイ先となる "開発"、"テスト"、"ステージング" という 3 つのステージのために、App Service インスタンスを作成します。 このモジュールでは、後で "ステージング" にデプロイ スロットを追加します。

注意

学習が目的であるため、ここでは、既定のネットワーク設定を使用します。 これらの設定により、インターネットからサイトにアクセスできるようになります。 実際には、インターネットからはルーティングできないものの、あなたのチームのみがアクセスできるネットワーク内に Web サイトを配置する Azure 仮想ネットワークを構成できます。 後で準備ができたら、ユーザーが Web サイトを利用できるようにネットワークを再構成できます。

  1. Cloud Shell で、Web アプリのドメイン名を一意にするランダムな数値を生成します。

    webappsuffix=$RANDOM
    
  2. 次の az group create コマンドを実行して、tailspin-space-game-rg という名前のリソース グループを作成します。

    az group create --name tailspin-space-game-rg
    
  3. 以下のコマンドを実行し、2 つの App Service プランを作成します。

    az appservice plan create \
      --name tailspin-space-game-test-asp \
      --resource-group tailspin-space-game-rg \
      --sku B1 \
      --is-linux
    
    az appservice plan create \
      --name tailspin-space-game-prod-asp \
      --resource-group tailspin-space-game-rg \
      --sku P1V2 \
      --is-linux
    

    重要

    お使いの Azure サブスクリプションの一部として B1 SKU を使用できない場合は、S1 (Standard) などの異なるプランを選択してください。

    App Service プランでは、Web アプリを実行するために提供される CPU、メモリ、ストレージ リソースを定義していることを思い出してください。

    最初のコマンドでは、B1 プランを指定しています。 このプランは、Basic サービス レベルで実行されます。 App Service 環境では、"開発" と "テスト" のステージでこのプランを使用します。 B1 Basic プランは、開発環境やテスト環境など、トラフィックの要件が低いアプリに向けられています。

    2 番目のコマンドでは、Premium サービス レベルで実行される P1V2 プランを指定しています。 このプランは "ステージング" で使用されます。 Premium P1V2 プランは、運用環境のワークロード用です。 これは専用の仮想マシン インスタンスで実行されます。

    Basic プランのサービス レベルでは、追加のデプロイ スロットは提供されません。 ただし、Premium プランでは提供されます。 "ステージング" 環境のために Premium プランが必要なのはそのためです。

  4. 以下の az webapp create コマンドを実行し、"開発"、"テスト"、"ステージング" の各環境用に 1 つずつ、3 つの App Service インスタンスを作成します。

    az webapp create \
      --name tailspin-space-game-web-dev-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-test-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-test-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-test-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-staging-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-prod-asp \
      --runtime "DOTNET|6.0"
    

    ここでは、"開発" および "テスト" 用の App Service インスタンスに同じ App Service プラン B1 Basic を適用していることに注目してください。 "ステージング" 用の App Service インスタンスには、App Service プラン Premium P1V2 を適用しています。

  5. 次の az webapp list コマンドを実行して、各 App Service インスタンスのホスト名と状態を一覧表示します。

    az webapp list \
      --resource-group tailspin-space-game-rg \
      --query "[].{hostName: defaultHostName, state: state}" \
      --output table
    

    実行中の各サービスのホスト名をメモしておきます。 これらのホスト名は、後で作業を確認するときに必要になります。 ホスト名の例を次に示します。

    HostName                                                 State
    -------------------------------------------------------  -------
    tailspin-space-game-web-dev-21017.azurewebsites.net      Running
    tailspin-space-game-web-test-21017.azurewebsites.net     Running
    tailspin-space-game-web-staging-21017.azurewebsites.net  Running
    
  6. 省略可能な手順として、1 つまたは複数の名前にアクセスします。 これらが実行されていること、および既定のホーム ページが表示されることを確認します。

    それぞれの環境で、このページが表示されます。

    Screenshot of the default home page in Azure App Service.

重要

このモジュールの「Azure DevOps 環境をクリーンアップする」ページには、重要なクリーンアップ手順が含まれています。 クリーンアップは、このモジュールを完了した後に Azure リソースに対して課金されないようにするために役立ちます。 このモジュールを最後まで実行しなかったとしても、クリーンアップ手順は必ず行ってください。

Azure Pipelines でパイプライン変数を作成する

Azure Pipelines を使用してマルチステージ パイプラインを作成する」では、パイプラインの "開発"、"テスト"、"ステージング" の各ステージに対応する App Service インスタンスごとに 1 つの変数を追加しました。 ここでは、同じことを行います。

パイプライン構成の各ステージでは、これらの変数を使用して、デプロイ先の App Service インスタンスを識別します。

変数を追加するには、以下の操作を行います。

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

  2. [パイプライン] で、[ライブラリ] を選択します。

    Screenshot of Azure Pipelines that shows the Library menu option.

  3. [+ Variable group] を選択します。

  4. [プロパティ] の下で、変数グループ名として「Release」と入力します。

  5. [Variables] で、[+ Add] を選択します。

  6. 変数の名前には「WebAppNameDev」と入力します。 その値として、"開発" 環境に対応する App Service インスタンスの名前 (tailspin-space-game-web-dev-1234 など) を入力します。

  7. 次の表に示すように、手順 5 と 6 をさらに 2 回繰り返して、"テスト" と "ステージング" の環境用の変数を作成します。

    変数名 値の例
    WebAppNameTest tailspin-space-game-web-test-1234
    WebAppNameStaging tailspin-space-game-web-staging-1234

    各例の値は、必ず実際の環境に対応する App Service インスタンスに置き換えてください。

    重要

    ホスト名ではなく、App Service インスタンスの名前を設定します。 この例では、「tailspin-space-game-web-dev-1234.azurewebsites.net」ではなく、「tailspin-space-game-web-dev-1234」と入力します。

  8. ページの上部にある [Save] を選択して、変数をパイプラインに保存します。

    変数グループは次のようになります。

    Screenshot of Azure Pipelines that shows the variable group. The group contains three variables.

dev 環境、test 環境、staging 環境を作成する

前のモジュールでは、devteststaging の各環境用に環境を作成しました。 ここでは、このプロセスを繰り返します。

devteststaging の各環境を作成するには:

  1. Azure Pipelines で、[Environments] を選択します。

    Screenshot of Azure Pipelines that shows the location of the Environments menu option.

  2. dev 環境を作成するには:

    1. [環境の作成] を選択します。
    2. [名前] に「dev」と入力します。
    3. 残りのフィールドは既定値のままにします。
    4. [作成] を選択します
  3. test 環境を作成するには:

    1. [環境] ページに戻ります。
    2. [New environment] (新しい環境) を選択します。
    3. [名前] に「test」と入力します。
    4. [作成] を選択します。
  4. ステージング環境を作成するには、次の手順を実行します。

    1. [環境] ページに戻ります。
    2. [New environment] (新しい環境) を選択します。
    3. [Name] に "ステージング" と入力します。
    4. [作成] を選択します。

サービス接続を作成する

ここでは、Azure Pipelines が Azure サブスクリプションにアクセスできるようにするサービス接続を作成します。 Azure Pipelines では、このサービス接続を使用して Web サイトを App Service にデプロイします。 前のモジュールで同様のサービス接続を作成しました。

重要

同じ Microsoft アカウントで Azure portal と Azure DevOps の両方にサインインしていることを確認してください。

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

  2. ページの下隅で、[Project settings] を選択します。

  3. [パイプライン] で、[サービス接続] を選択します。

  4. [新しいサービス接続][Azure Resource Manager] と選択してから、[次へ] を選択します。

  5. ページ最上部の近くにある [サービス プリンシパル (自動)] を選択します。 [次へ] を選択します。

  6. 以下のフィールドを設定します。

    フィールド
    スコープのレベル サブスクリプション
    サブスクリプション お使いの Azure サブスクリプション
    リソース グループ tailspin-space-game-rg
    サービス接続名 Resource Manager - Tailspin - Space Game

    処理中に、Microsoft アカウントにサインインするように求められる場合があります。

  7. 必ず、[すべてのパイプラインへのアクセス許可を与える] を選択してください。

  8. [保存] を選択します。

    Azure サブスクリプションに接続できることを確認するために、Azure DevOps でテスト接続が実行されます。 Azure DevOps で接続できない場合は、もう一度サインインする機会があります。

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

ここでは、GitHub から blue-green ブランチをフェッチします。 その後、そのブランチを "チェックアウト" するか、そのブランチに切り替えます。

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

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

  2. 以下の git コマンドを実行して、Microsoft のリポジトリから blue-green という名前のブランチをフェッチし、そのブランチに切り替えます。

    git fetch upstream blue-green
    git checkout -B blue-green upstream/blue-green
    

    これらのコマンドの形式を使用すると、upstream という名前の Microsoft GitHub リポジトリから、スタート コードを取得できます。 すぐに、origin と呼ばれる独自の GitHub リポジトリにこのブランチをプッシュします。

  3. 省略可能な手順として、Visual Studio Code から azure-pipelines.yml を開きます。 この初期構成について、よく理解しておいてください。

    この構成は、このラーニング パスの以前のモジュールで作成したものに似ています。 これによって、アプリケーションのリリース構成のみがビルドされます。 簡潔さのために、以前のモジュールで設定したトリガー、手動の承認、テストは省略されています。

    学習目的のため、この構成では、すべてのブランチを "開発"、"テスト"、"ステージング" に変更することをお勧めします。 より確実な方法を取る場合は、リリース ブランチまたは main から変更することをお勧めします。 「Azure Pipelines モジュールを使用してマルチステージ パイプラインを作成する」では、この確実な方法を使用しました。

パイプラインを実行し、デプロイされた Web サイトを確認する

ここでは、あなたがチームの最新状況を把握できるように、初期構成を GitHub にプッシュします。 後でブルーグリーン デプロイを実装できるように、"ステージング" 環境にスロットを追加します。

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

  2. 次の git commit コマンドを実行し、コミット履歴に空のエントリを追加します。

    git commit --allow-empty -m "Trigger the pipeline"
    

    この手順は学習目的です。 一般的ではありません。 Microsoft が用意したスタート コードはすぐに変更する必要がないものです。 --allow-empty フラグによって、次の手順でブランチが GitHub に正常にプッシュされ、Azure Pipelines の実行がトリガーされるようになります。

    この手順を省略した場合、次の手順で実行する git push コマンドで、何のアクションも実行されなくなります。 そのため、Azure Pipelines の実行はトリガーされません。

  3. 次の git push コマンドを実行し、GitHub リポジトリにブランチをアップロードします。

    git push origin blue-green
    
  4. Azure Pipelines でそのビルドに移動します。 次に、実行時にビルドをトレースします。 メッセージが表示されたら、[許可] を選択し、さまざまなステージにデプロイ許可を付与します。

  5. パイプライン実行が完了したら、概要ページに移動してパイプラインの状態を確認します。

    Screenshot of Azure Pipelines that shows the completed stages.

  6. 各ステージに対応している URL にアクセスします。 Web アプリが各環境にデプロイされているはずです。

    Screenshot of a web browser that shows the Space Game website in the Dev environment.