自動デプロイ環境の構築① ステージング・本番のIISサイトの作成 7日目

2024/11/04に公開

はじめに

自動デプロイ環境を構築するために、IISでデプロイ先であるステージング環境と本番環境のWEBサイトを構築します。

デプロイ先がないと何もできん。。。

では、さっそくステージング環境と本番環境のサイトを準備してみたいと思う。IISを利用します。
IIS(Internet Information Services)は、Microsoftが提供するWebサーバーソフトウェアです。WebアプリケーションやWebサイトをホストするための機能を提供し、Windowsサーバー環境で動作します。

  1. IISのインストール
    まず、IISがインストールされているか確認します。インストールされていない場合、以下の手順でインストールします。
  • [コントロールパネル] -> [プログラムと機能] -> [Windowsの機能の有効化または無効化] を開きます。
  • [インターネット インフォメーション サービス]にチェックを入れ、必要な機能を選択してインストールします。
  1. ASP.NET Core モジュールのインストール
  • .NET Core Hosting Bundleをダウンロードしてインストールします。これにより、IISがASP.NET Coreアプリケーションをホストできるようになる。
    下記のリンクから、ASP.NET Core ランタイム下にあるHosting Bundleリンクを探してダウンロードしてインストールします。
  1. アプリケーションの発行
    Visual Studio Codeでプロジェクトを発行して、IISでホストできる状態にします。
PS D:\works\HelloWorldApp> dotnet publish D:\works\HelloWorldApp\HelloWorldApp.csproj -c Release -o D:\works\staging\wwwroot\HelloWorldApp
  復元対象のプロジェクトを決定しています...
  復元対象のすべてのプロジェクトは最新です。
  HelloWorldApp -> D:\works\HelloWorldApp\bin\Release\net8.0\HelloWorldApp.dll
  HelloWorldApp -> D:\works\staging\wwwroot\HelloWorldApp\
コマンドの構成と説明
dotnet publish D:\works\HelloWorldApp\HelloWorldApp.csproj -c Release -o D:\works\staging\wwwroot\HelloWorldApp
  • dotnet publish
    .NET CLI(.NETコマンドラインインターフェース)を使用して、指定したプロジェクトを発行します。発行(publish)は、アプリケーションを実行可能な形式で出力ディレクトリにコピーするプロセスです。

  • D:\works\HelloWorldApp\HelloWorldApp.csproj
    発行対象のプロジェクトファイルを指定します。HelloWorldApp.csprojはプロジェクトの設定ファイルであり、ソリューションファイル(.sln)ではなくプロジェクト単位で発行することで、ビルドの一貫性が保たれます。

  • -c Release
    -c--configurationの略で、ビルド構成(Configuration)を指定するオプションです。Releaseは、最適化が施された構成でビルドを行い、デバッグ情報が含まれないため、本番環境向けです。

  • -o D:\works\staging\wwwroot\HelloWorldApp
    -o--outputの略で、発行ファイルの出力ディレクトリを指定します。この場合、D:\works\staging\wwwroot\HelloWorldAppフォルダに発行されます。発行されたアプリケーションは、このディレクトリ内でIISなどのWebサーバーにデプロイできます。

  1. IISで新しいサイトの作成
  • IISマネージャーを開き、[サイト] を右クリックし、[Webサイトの追加] を選択します。
  • サイト名を入力:HelloWorldApp
  • [物理パス] には、先ほど発行した publish フォルダのパスを指定します。
    パス D:\works\staging\wwwroot\HelloWorldApp\
  • [ホスト名] には、localhost(任意のホスト名)を指定します。
  • ポートを5001(ステージング環境用のポート)
  1. 確認
     http://localhost:5001/を選択してサイトが表示されていることを確認する。
  2. 同様の方法で本番環境を作成する。
dotnet publish D:\works\HelloWorldApp\HelloWorldApp.csproj -c Release -o D:\works\production\wwwroot\HelloWorldApp


サイト確認:http://localhost:5002/

表示できましたね。これでステージング環境と本番環境が作成できました。
次はGitのステージングと本番のリポジトリを準備します。

Discussion