Azure App Service にFTPでWARをデプロイ

##はじめに
Azure App Serviceとは、Microsoft Azureが提供するPaaSです。
この記事では、WARをAzure App ServiceのTomcatにFTPを使って転送しデプロイします。
※WARの作成には触れません

##目次
1. Azure App Serviceを作成
2. アプリケーションの設定
3. アプリケーションの設定の更新確認
4. FTPを使用してApp Serviceにアクセス
5. WARをデプロイ

## Azure App Serviceを作成
AzureアカウントでAzure Portalにサインインします。
https://portal.azure.com
![portal.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/6cb46ddc-38cb-de65-ada1-b2234df5119b.png)
左側のメニューで **[App Service]** > **[App Serviceの作成]** > **[Web App]** > **[作成]** の順でクリックします。
![makeWebApp.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/9225cb75-2544-7a5f-77bd-b3fce9252105.png)
**アプリ名**、**リソースグループ名**を入力し、**[App Service プラン/場所]** > **[新規作成]** の順でクリックします。
![makeWebapp2.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/06d92c88-aca4-e821-c84d-68d3f1f0f8f9.png)
**App Service プラン**、**場所**、**価格レベル**を入力し、**[OK]** > **[作成]** の順でクリックします。
※筆者は**価格レベル**を**F1 FREE**にしています。
![makeWebApp4.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/8bd78e3e-8333-df51-3389-d193a404b033.png)
**すべてのリソース**から作成したApp Serviceをクリックすると
作成したApp Seriveの詳細が表示されます。
![makeWebApp5.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/25b43f24-897e-ce9a-daf5-b18ba9456009.png)
ブラウザでURLを開くとApp Serviceが起動していることが確認できます。
![service.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/8cb038d6-78a7-9558-69c4-aac98ebd1f00.png)
##アプリケーションの設定
App Serviceの詳細画面の左側のメニューにある**[アプリケーションの設定]**をクリックします。
![setApp.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/67b3db6f-304f-1612-48da-2bf7bbef021d.png)
**Java バージョン**、**Java マイナー バージョン**、**Java Web コンテナー**を入力し、**[保存]**をクリックします。
##アプリケーションの設定の更新確認
アプリケーションの設定で更新した内容は**applicationhost.config**に反映されます。
**kudu**を使用して**applicationhost.config**の中身を確認してみます。

App Serviceの詳細画面の左側のメニューにある **[高度なツール]** > **[移動]** をクリックすると新規ウィンドウが開かれます。
![kudu.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/4d9153e1-b18d-9474-2e4d-ec59a4b5c00b.png)
上のメニューの **[Debug console]** > **[CMD]** の順でクリックします。
![kudu2.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/86fb40b0-071f-f055-1aed-4efdeab748f0.png)
画面下のコンソールで下記コマンドを入力します。

```bat:CMD
cd D:\local\Config
```
applicationhost.configの左にある**[編集ボタン]**クリックします。
選択したtomcatのstartup.batをキックしていることが確認できます。
![kudu3.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/dde01047-63b6-032d-9a79-5167e0fd1482.png)

##FTPを使用してApp Serviceにアクセス
App Serviceの詳細画面の上側にある**[発行プロファイルの取得]**をクリックします。
**PublishSettingsファイル**がダウンロードされます。
中身を開くと、
FTPでアクセスする際の**publishUrl**、**userName**、**userPWD**が記述されています。

```xml:PublishSettings
<publishData>
    ...
    ...
	<publishProfile 
		profileName="sample0000 - FTP" 
		publishMethod="FTP" 
		publishUrl="ftp://waws-prod-ty1-017.ftp.azurewebsites.windows.net/site/wwwroot" 
		ftpPassiveMode="True" 
		userName="sample0000\$sample0000" 
		userPWD="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
		destinationAppUrl="http://sample0000.azurewebsites.net" 
		SQLServerDBConnectionString="" 
		mySQLDBConnectionString="" 
		hostingProviderForumLink="" 
		controlPanelLink="http://windows.azure.com"
		webSystem="WebSites">
	<databases />
	</publishProfile>
</publishData>
```
エクスプローラーで**publishUrl**を開きます。
![ftp.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/159e8bd3-a699-e44f-adcb-08f30c068afc.png)
**userName**、**userPWD**を入力し、**[ログオン]** をクリックします。
App Serviceにアクセスできました。
![ftp2.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/ee9fe820-0284-1296-078e-dd9ef3093e3d.png)

##WARをデプロイ
WARを転送する前にApp Serviceを停止させます。
App Serviceの詳細画面の上側にある **[停止]** > **[はい]** の順でクリックします。
状態が**Running**から**Stopped**に切り替わります。
![war2.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/c8597dc5-fda4-ff14-df97-e6dde24543d2.png)
FTPで **site/wwwroot/webapps/** に移動し、**ROOT**フォルダを削除後、
WARファイルを転送します。
![war3.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/d01ab371-32d6-b67d-0e36-261ef6e1099d.png)
App Serviceの詳細画面の上側にある **[開始]**をクリックします。
再起動時TomcatがWARファイルを展開してくれます。
![war4.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/96b6ce4d-85c2-56dc-0283-d1a47454c2aa.png)
App ServiceのURLを開きます。
無事に**Hello Azure!**が表示されました。
![war5.PNG](https://qiita-image-store.s3.amazonaws.com/0/310126/58e2382c-e16a-3fe3-92d6-e496dde25c37.png)


以上