PCF DevをWindowsで使ってみる Part-2

#はじめに
PCF DevをWindowsで使ってみる [Part-1](https://qiita.com/tworks55/items/b5be6c4aa23bc892ddb1)の続きです。

#1. 前提
以下の環境で動作した内容を記述しています。

Windows 10 Home (64bit)
VirtualBox 5.2
cf-cli-installer_6.32.0_winx64
pcfdev-v0.28.0+PCF1.11.0-windows
JDK 1.8 *サンプルアプリのBuildで使用

#2. サンプルアプリをビルド
githubからサンプルアプリを取得

```
>git clone https://github.com/cloudfoundry-samples/spring-music
```

PCF Devにログイン

```
> cf login -a api.local.pcfdev.io --skip-ssl-validation
API endpoint:  api.local.pcfdev.io   
Email>     user
Password>  pass
```

サンプルアプリのフォルダに移動しビルド

```
> cd .\spring-music
> .\gradlew.bat assemble
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/9bcdea81-aa9f-447a-f078-9e5eaa132108.png)

#3.サンプルアプリをデプロイ
PDC DEVにpush

```
> cf push --hostname spring-music
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/98b2c5af-9e07-b23e-521d-dd7fd130e461.png)


![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/f512f39f-24fa-0568-d307-4f17c1e55deb.png)


#4.サンプルアプリにアクセス
ブラウザで[http://spring-music.local.pcfdev.io/](http://spring-music.local.pcfdev.io/)にアクセス
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/87753a55-fcbd-ba41-6c35-98309d4f51b6.png)


#5.ログを確認
直近のスナップショット

```
> cf logs spring-music --recent
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/e9df1ae0-f7cd-d871-347a-f92d2c2bf21a.png)

ストリームログ（ブラウザでリロードするとログが表示されます）

```
> cf logs spring-music
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/4dbf2c07-2b14-62d8-1023-148a0f76732b.png)

#6.データベースをバインド
今の状態だとデータはメモリーに格納されるので、変更したデータは保存できません。ブラウザ画面右上のInfoアイコンをクリックすると状態が見れます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/1e3162b8-3b8b-205a-f564-8e6e227f0837.png)


早速データベースをバインドしてみます。mysqlを使いますがリストしてみると512mbと1gbのものがマーケットプレイスにあるようです。今回は512mbのものを使います。

```
> cf marketplace -s p-mysql
> cf create-service p-mysql 512mb my-spring-db
> cf bind-service spring-music my-spring-db
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/713f1e75-b6d0-de9c-6f03-718565380886.png)

バインドがうまくいったらアプリを再起動し、バインド状況を確認します。

```
> cf restart spring-music
> cf services
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/21097e1c-fc64-2ed9-a49d-8955f07fae51.png)

ブラウザ画面でも確認。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/f95b9007-1e7a-4b8f-8309-0337255f150c.png)

#7.アプリをスケールアウト、スケールアップする
インスタンスを２つに増やし、状態を確認。

```
> cf scale spring-music -i 2
> cf app spring-music
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/9e5b1711-8bcc-72a0-2b4e-749ac9c37696.png)

メモリとディスクを増やす（失敗）

```
> cf scale spring-music -m 1G
> cf scale spring-music -k 512M
```

※非力なマシンでスケールアップは耐えられず、コンソールにログインしてみたところアプリがクラッシュしていました。残念、、、
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131481/b773896d-449f-a381-ab7e-643f2cbdd2e0.png)



#参考ページ
[https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/deploy-the-sample-app](https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/deploy-the-sample-app)
[https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/view-the-logs](https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/view-the-logs)
[https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/connect-a-database](https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/connect-a-database)
[https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/scale-the-app](https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/scale-the-app)