Windows 仮想マシンにアプリを配置する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines を使用して、ASP.NET、ASP.NET Core、または Node.js Web アプリをビルドし、Windows 仮想マシン上で実行されている IIS Web サーバーに配置する方法について説明します。
前提条件
- Azure DevOps 組織。 まだ組織を作成していない場合は、組織を作成します。
- ビルド パイプライン
- IIS Web サーバーを構成する
ビルド パイプライン
まだない場合は、ビルド パイプラインを設定します。
IIS Web サーバーを構成する
まだ行っていない場合は、IIS サーバーを構成する
管理者特権の PowerShell コマンド プロンプトで、次のコマンドを実行して IIS をダウンロードします。
Install-WindowsFeature Web-Server,Web-Asp-Net45,NET-Framework-Features
配置グループを作成する
配置グループを使用すると、ご利用のアプリをホストするのに使用するサーバーをより簡単に整理できます。 配置グループとは、Azure Pipelines エージェントを搭載したマシンのコレクションです。 各マシンでは Azure Pipelines とのやりとりによって、アプリの配置を調整します。
[パイプライン] を選択して、[配置グループ] を選択します。
[配置グループの追加] を選択します (配置グループが既に存在する場合は [新規] を選択します)。
グループの名前を入力してから、[作成] を選択します。
[マシンの登録] セクションで、ドロップダウン メニューから [Windows] が選択されていることに加え、[認証用にスクリプト内の個人用アクセス トークンを使用する] チェック ボックスもオンになっていることを確認します。 完了したら、[スクリプトをクリップボードにコピー] を選択します。 クリップボードにコピーしたスクリプトによって、VM 上にエージェントがダウンロードおよび構成されます。これにより、新しい Web 配置パッケージを受信して IIS に適用できるようになります。
VM にログインし、管理者特権の PowerShell コマンド プロンプト ウィンドウを開き、スクリプトを実行します。
エージェントのタグを構成するように求められたら、Enter キーを押してスキップします。 (タグは省略可能です)
ユーザー アカウントの入力を求められたら、Enter キーを押して既定値を受け入れます。
注意
パイプラインを実行しているエージェントは、*C:\Windows\system32\inetsrv* ディレクトリにアクセスできる必要があります。 詳細については、セキュリティ グループ、サービス アカウント、およびアクセス許可に関するページを参照してください。
スクリプトが完了すると、"サービス vstsagent.account.computername が正常に開始されました" というメッセージが表示されます。
[配置グループ] に移動して、配置グループを選択します。 [ターゲット] タブを選択し、使用する VM が一覧表示されていることを確認します。
リリース パイプラインを作成する
リリース パイプラインを使用すると、ビルド成果物を IIS サーバーに配置できるようになります。
[パイプライン] を選択し、 [リリース] を選択します。 [新しいパイプライン] を選択します。
検索バーを使って IIS Website Deployment テンプレートを見つけ、[適用] を選びます。
[成果物の追加] を選択して、ビルド成果物を追加します。
[ビルド] を選択して、[プロジェクト] と [ソース (ビルド パイプライン)] を選択します。 完了したら [追加] を選択します。
[成果物] セクションで [継続的配置トリガー] アイコンを選択します。 [継続的配置トリガー] を有効にし、メイン ブランチをフィルターとして追加します。
[タスク] を選択して、[IIS 展開] を選択します。 ドロップダウン メニューから、前に作成した配置グループを選択します。
完了したら、[保存] を選択します。
アプリのデプロイ
[パイプライン]>[リリース] の順に選択し、[リリースの作成] を選択します。
使用する成果物のバージョンが選択されていることを確認して、[作成] を選択します。
情報バーのメッセージにあるリリースのリンクを選択します。 たとえば、"リリース Release-1 がキューに登録されました" などが挙げられます。
パイプラインの [ログ] に移動して、ログとエージェントの出力を確認します。