KatsuYuzuのブログ

.NET の開発をメインとした日記です。

Web Deploy で IIS に発行するための Windows Server の設定 #aspnetjp #tfsug

案件が始まるたびに毎回設定するし、毎回ぐぐるのでいい加減にメモ。
Web Deploy できる環境を作っておくと「開発→右クリック→発行」で Web サイトを更新できる。打ち合わせ中にその場ですぐに見せられたり、実行環境での動作確認できたり、すごく便利。

Web Deploy で IIS に発行するための Windows Server の設定

手順

  1. [サーバーの役割] で [Web サーバー(IIS)] > [管理ツール] > [管理サービス] をインストール
  2. Web Deploy 3.5 をインストール
  3. [IIS マネージャー] を起動
  4. [管理サービス] を起動([IIS マネージャー])
  5. [IIS マネージャー ユーザー] を追加([IIS マネージャー])
  6. [管理サービスの委任] を設定([IIS マネージャー])
  7. 該当サイトを右クリックして [展開] > [Web 配置による発行の有効化]([IIS マネージャー])
  8. ファイアウォールを設定
  9. Visual Studio でプロジェクトを右クリックして発行

[サーバーの役割] で [Web サーバー(IIS)] > [管理ツール] > [管理サービス] をインストール

f:id:KatsuYuzu:20160126000047p:plain

Web Deploy 3.5 をインストール

インストーラーで [完全] を選んでインストール。

[IIS マネージャー] を起動

f:id:KatsuYuzu:20160126000219p:plain

[管理サービス] を起動([IIS マネージャー])

f:id:KatsuYuzu:20160126000235p:plain

[IIS マネージャー ユーザー] を追加([IIS マネージャー])

f:id:KatsuYuzu:20160126000258p:plain

[管理サービスの委任] を設定([IIS マネージャー])

createApp は [ID の種類] が [SpecificUser] で Windows ユーザーを設定する必要がある。
f:id:KatsuYuzu:20160126000338p:plain
f:id:KatsuYuzu:20160126000406p:plain

該当サイトを右クリックして [展開] > [Web 配置による発行の有効化]([IIS マネージャー])

f:id:KatsuYuzu:20160126000430p:plain

ファイアウォールを設定

[管理サービス] を起動した時に設定したポートを開ける。既定では 8172。

Visual Studio でプロジェクトを右クリックして発行

f:id:KatsuYuzu:20160126000618p:plain
他にも TFS のビルドで [MS Build 引数] を設定すれば TFS から発行も出来る。

/p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:CreatePackageOnPublish=True /p:PublishProfile="{ profile nam }" /p:AllowUntrustedCertificate=True /p:Password="{ password }"