Bluemix
.NETCore

IBM Bluemixで.Net Coreしてみる

IBM Bluemix

なにやらIBM Bluemixがライトプランなら無料で使える、ということなので使ってみました。
ちなみに.Net Core 2.0.0をインストール済みのMacでの話です。

.Net Coreのチュートリアルをやってみる

.Net Coreのチュートリアルは こちら
読んでみると、.Net Core SDK 1.0.4をインストールしろ、と書いてある。
1.0.4かぁ…。と思いながら、

Cloud Foundary CLIのインストール

まずはチュートリアルの通りにサンプルを実行。
Macにチュートリアルページにある、 Cloud Foundry CLI をパッケージでインストール。
Homebrewでやろうとしたら、Rubyが2.0.0だとダメだと怒られたので…。

サンプルを実行

書いてある通りにして特に問題なくローカルで試す。

$ git clone https://github.com/IBM-Bluemix/get-started-aspnet-core
$ cd get-started-aspnet-core/src/GetStartedDotnet
$ dotnet restore
$ dotnet run

http://localhost:5000/ をアクセスしてみる。
特に問題なし。

サンプルのデプロイ

$ cd ../..
$ cf login
$ cf push

ライトプランではメモリが256Mまでなので、このままでは怒られます。
manifest.yml の memory: の値を256M以下に編集し直して再度 cf push を行う。
これも特に問題なく実行できます。

push時のログ

-----> Installing .NET SDK
       .NET SDK version: 2.0.0

ん!?
.Net Core 2.0.0をインストールした、と出たじゃないですか。
これは試してみなければ、ということで。

.Net Core 2.0.0で試す

mvcで作ったすの状態で動くかどうか試してみます。

プロジェクトを作る

$ mkdir IBTest
$ cd IBTest
$ dotnet new sln
$ dotnet new mvc
$ dotnet sln IBTest.sln add IBTest.csproj
$ dotnet run

特に問題なくmvcのテンプレートで動きます。

pushする

下記の内容で manifest.yml ファイルを作成。

---
applications:
- name: IBTest
  random-route: true
  memory: 64M
  env:
    DOTNET_CLI_TELEMETRY_OPTOUT: 1
    DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true

Bluemixにpushします。

$ cf push

…問題なく動いているようです。
ダッシュボードを確認し、リンクをクリックしてページを開いてみると、これも問題なし。

$ cf app IBTest

と、情報をとってみると、

名前:               IBTest
要求された状態:       started
インスタンス:         1/1
使用:               64M x 1 instances
routes:            ibtest-xxx.mybluemix.net
最終アップロード日時:   Tue 31 Oct 10:40:42 JST 2017
スタック:            cflinuxfs2
ビルドパック:          ASP.NET Core (buildpack-v1.0.26-20170913-1346)

     状態   開始日時               CPU    メモリー       ディスク       詳細
#0   実行   2017-10-31T01:45:15Z   0.0%   26.3M of 64M   443.9M of 1G   

と。
まだメモリに余裕がありそうなので、いろんなことができそうです。