Linux 仮想マシンで実行されている NGINX Web サーバーに Web アプリをデプロイする (クラシック)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

注意

YAML パイプラインを使って Linux 仮想マシンにアプリケーションをデプロイする場合は、「Linux 仮想マシンへのデプロイ」を参照してください。

クラシック Azure Pipelines を使って、Web アプリをビルドし、Linux 仮想マシン上で実行されている NGINX Web サーバーにデプロイする方法について説明します。

前提条件

Linux VM の前提条件

  • Nginx Web サーバーを使った Linux VM がない場合は、このクイック スタートの手順に従って Azure に作成します。

コードを取得する

リポジトリがない場合は、このチュートリアルに従って次のサンプル プロジェクトを使用します。

https://github.com/MicrosoftDocs/pipelines-javascript

アプリの構築

配置グループを設定する

配置グループを使用すると、ご利用のアプリのホストに使用するサーバーをより簡単にまとめられます。 配置グループとは、Azure Pipelines エージェントを搭載したマシンのコレクションです。 各マシンは Azure Pipelines と対話して、アプリのデプロイを調整します。

  1. Linux VM への SSH セッションを開きます。 これを行うには、Azure portal の右上にある [Cloud Shell] ボタンを使用します。

    Azure Cloud Shell のボタンを示すスクリーンショット

  2. 次のコマンドを実行してセッションを開始します。 プレースホルダーを、VM の IP アドレスに置き換えます。

    ssh <publicIpAddress>
    
  3. 次のコマンドを実行して、Linux 仮想マシンにビルドおよびリリース エージェントを設定するために必要な依存関係をインストールします。 詳しくは、「セルフホステッド Linux エージェント」をご覧ください。

    sudo apt-get install -y libunwind8 libcurl3
    
  4. Azure DevOps Web ポータルで、[パイプライン] を選び、[配置グループ] を選びます。

  5. [配置グループの追加] を選びます (または、既存の配置グループがある場合は [新規] を選びます)。

  6. myNginx などのグループの名前を入力し、[作成] を選びます。

  7. [登録するターゲットの種類][Linux] を選び、[認証用にスクリプト内の個人用アクセス トークンを使用する] のチェック ボックスがオンになっていることを確認します。 [スクリプトをクリップボードにコピー] を選びます。 このスクリプトは、VM にエージェントをインストールして構成します。

  8. Azure portal の SSH セッションに戻り、スクリプトを貼り付けて実行します。

  9. エージェントのタグを構成するように求められたら、Enter キーを押してスキップします。

  10. スクリプトが完了するまで待機すると、"Azure Pipelines エージェントを開始しました" というメッセージが表示されます。q」と入力してファイル エディターを終了し、シェル プロンプトに戻ります。

  11. Azure DevOps ポータルに戻り、[配置グループ] ページで myNginx 配置グループを開きます。 [ターゲット] タブを選び、お使いの VM が一覧表示されていることを確認します。

リリース パイプラインを作成する

  1. [パイプライン]>[リリース] を選び、[新しいパイプライン] を選びます。

  2. [空のジョブ] を選びます。

  3. [成果物の追加] を選び、ビルド成果物をリンクします。 [ビルド] を選び、ドロップダウン メニューから [プロジェクト][ソース] を選びます。 完了したら [追加] を選択します。

  4. [継続的デプロイ] アイコンを選び、トグル ボタンをクリックして継続的デプロイ トリガーを有効にします。 メイン ブランチをビルド ブランチ フィルターとして追加します。

    継続的デプロイ トリガーを設定する方法を示すスクリーンショット

  5. [タスク] を選び、[エージェント ジョブ] を選んで削除します。

    エージェント ジョブを設定する方法を示すスクリーンショット

  6. 省略記号アイコンを選び、[配置グループ ジョブの追加] を選びます。 このジョブに追加するタスクは、配置グループ内の各サーバーで実行されます。

    配置グループ ジョブを追加する方法を示すスクリーンショット

  7. [配置グループ] ドロップダウン メニューから、前に作成した配置グループを選びます。

    配置グループ を選ぶ方法を示すスクリーンショット。

  8. + を選び、新しいタスクを追加します。 Bash を検索し、[追加] を選んでパイプラインに追加します。

    Bash タスクを追加する方法を示すスクリーンショット。

  9. [参照] ボタンを選び、deploy.sh スクリプト ファイルのパスを追加します。 nodeJS デプロイ スクリプトのサンプルについては、こちらを参照してください。

    スクリプト パスを追加する方法を示すスクリーンショット。

  10. 完了したら、[保存] を選択します。

    リリース パイプラインを保存する方法を示すスクリーンショット。

アプリのデプロイ

  1. [リリース] を選び、[リリースの作成] を選びます。

  2. 使用する成果物のバージョンが選ばれていることを確認して、[作成] を選びます。

  3. 情報バーのメッセージにあるリリースのリンクを選びます。 たとえば、"リリース Release-1 がキューに登録されました" などが挙げられます。

  4. [ステージ] の状態リンクを選んで、デプロイ ログを表示します。

  5. リリースが完了したら、アプリに移動し、そのコンテンツを確認します。