- 追加された行はこの色です。
- 削除された行はこの色です。
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-戻る
--[[ASP.NET]]
--[[デプロイ]]
* 目次 [#w750c785]
#contents
*概要 [#ecf7d346]
コンテンツと構成をIISに同期するための拡張可能なクライアントサーバーツール
*Web Deploy [#r93c0711]
*詳細 [#v18ba301]
Web Deployを使用すると、IIS移行や、高度な「発行」ができるらしい。~
*Web Deployパッケージ [#tc52f4e7]
**発行 [#sef03e5b]
そもそも「発行」は[[Visual Studio]]単体でも実行できる。
***範囲 [#gec84374]
発行の対象は以下のとおり。
-IIS の構成
-コンテンツ
***形式 [#e75ef8c3]
以下のような発行形式がある。
-[ファイル システム]
-[FTP]
-[[[Web Deploy>#r93c0711]]]
-[[[Web Deploy パッケージ>#tc52f4e7]]](zip)
**Web Deploy [#r93c0711]
Web Deploy形式の発行には、以下のインフラが必要になる。
***クライアント [#obf31c44]
発行を行う。
-CUI~
msdeploy.exe
-GUI~
以下のGUIがあるが、裏で前述のCUIを利用しているものを思われる。
--WebMatrix
---Web Management Service
--[[Visual Studio]]
---Web Deployment Agent Service
---Web Management Service
[[Visual Studio]]のほうが新旧をサポートするが、~
WebMatrix自体が古いので、[[Visual Studio]]を使用する。
***サーバ [#vbe7f982]
発行を受信して処理する(エージェント)。
-Web Deployment Agent Service
--古い
--旧OSのサポート
-Web Management Service
--新しい
--新OSで同梱
**Web Deployパッケージ [#tc52f4e7]
***用例 [#feb98eb1]
-以下のような場合に、この形式を使用する。
--Web Deployで直接IISに発行しない場合
--AzureのPaaSなどにデプロイする場合
-古くは、以下のようなファイルでPaaSにデプロイしていた。~
(そう言えば、何やら見覚えがあるなぁ...と。)
--サービス定義 (.csdef)
--サービスの構成 (.cscfg)
--サービス パッケージ (.cspkg)
-ただ、最近は、以下のような形式に変わってきている。~
(下記の、カスタムの[[MSDeployプロバイダ>#ibb30b3b]]と思われる。)
--Azure App Service
--Azure Virtual Machines
--ファイル システム
--カスタム ターゲット (IIS、FTP など)
***参考 [#a504ba4b]
-Windows Azure Webサイトを WebDeploy Package で配置する - ROMANCE DAWN for the new world~
http://gooner.hateblo.jp/entry/2014/02/05/websites-webdeploy/
-Web Deploy as a site extension | ブログ | Microsoft Azure~
https://azure.microsoft.com/ja-jp/blog/web-deploy-as-a-site-extension/
-デプロイの概要 - Visual Studio | Microsoft Docs~
https://docs.microsoft.com/ja-jp/visualstudio/deployment/deploying-applications-services-and-components-resources?view=vs-2019
**MSDeployプロバイダ [#ibb30b3b]
-Web配置の特定のソースまたは宛先データを処理する。
-Webアプリケーション以外を対象にしたプロバイダーも存在する。
***RDB [#lad1a4da]
-dbFullSql : SQL Server database deployments
-dbSqlPackage : SQL Server/SQL Azure database deployments
-dbDacFx : DACPAC-based SQL database deployments
-dbMySql : MySQL database deployments
-dbSqlite : Sqlite database deployments
***参考 [#e7b2ae6c]
-Web Deploy Providers | Microsoft Docs~
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd569040(v=ws.10)
*移行 [#h95c160a]
-発行機能を応用した移行も可能。
-既存サイトをアーカイブして別のサイトに発行する。
**手順 [#c4166161]
***Web Deploy ツールのインストール [#w3ef27df]
***移行元および移行先のバックアップ [#kde5ee86]
-失敗の際もリストア可能なようにしておく。
-バックアップ・リストアにはappcmd.exeを使用する。
...\appcmd.exe add backup <任意のバックアップ名>
...\appcmd.exe restore backup <復元したいバックアップ名>
***依存関係の確認とインストール [#f02b7788]
-移行先サーバにインストールが必要なコンポーネントがXMLで出力される。
-あくまでツールで確認できる範囲なので、過不足がある可能性がある。
***アーカイブ取得とアーカイブ発行 [#ufe357c8]
-ここが実際の移行作業になる。
-whatif フラグを指定してコマンドを実行すると、事前の、動作検証ができる。
*参考 [#x46beedb]
-連載:いまどきのソース・コード管理 - @IT
--第5回 配備を自動化する (1/4)~
https://www.atmarkit.co.jp/ait/articles/1311/15/news096.html
-Web Deployの整理 - redwarrior’s diary~
https://redwarrior.hateblo.jp/entry/2016/12/27/090000
**発行 [#l5eea56b]
-リモートのIISへVisual StudioからWebアプリをWeb Deployする - nuits.jp blog~
http://www.nuits.jp/entry/iis-web-deploy
-Windows Server/IIS/Web Deployインストール - yanor.net/wiki~
http://yanor.net/wiki/?Windows%20Server%2FIIS%2FWeb%20Deploy%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
**移行 [#pa0fef2b]
-Web Deploy ツールを利用した IIS の移行方法~
Microsoft Japan IIS / Azure Bot Service Support Team~
https://blogs.technet.microsoft.com/jpiis/2018/02/15/webdeploytool_migration/
----
Tags: [[:デプロイ]], [[:.NET開発]], [[:ASP.NET]]