「[[マイクロソフト系技術情報 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]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS