SlideShare a Scribd company logo
1 of 20
〜はじめての
.NET アプリケーションのはじめ方
Pivotal ジャパン
カスタマーエンジニア
北田 顕啓
2016/12/1
何で、Cloud Foundry で .NET アプリ
ケーションなんでしたっけ?
.NET と Cloud Foundry 関連トピック(1/2)
 .NET Core 1.0 リリース!
– .NET が Windows、Linux、macOS で利用可能に!
– https://blogs.msdn.microsoft.com/chack/2016/06/29/announcing-net-core-1-0/
 Microsoft 社からの IDE 関連リリース
– .NET Core tool for Visual Studio
▪ https://www.microsoft.com/net/core#windowsvs2015
– Visual Studio Code
▪ https://code.visualstudio.com/
– Visual Studio for Mac
▪ https://www.visualstudio.com/vs/visual-studio-mac/
.NET と Cloud Foundry 関連トピック(2/2)
 Windows Cell
– Cloud Foundry で .NET アプリケーションが Windows 上に push 可能
に!
 .NET Core Buildpack
– Cloud Foundry で ASP.NET Core アプリケーションが push 可能に!
– https://github.com/cloudfoundry/dotnet-core-buildpack
.NET Core 技術を中心に、Windows に
縛られないオープンな環境で .NET アプ
リケーションを開発して、オープンな
PaaS プラットフォームである Cloud
Foundry 上で動かすことができたら良く
ね?
Visual Studio Code でやってみる(1/2)
 Visual Studio Code とは?
– IDE というかマルチ言語対応のコードエディター
– マルチプラットフォーム対応(Windows、Linux、macOS)
– Extension のインストールでちょっとした IDE 風に
 事前準備
– .NET Core インストール
– Visual Studio Code インストール・C# Extension インストール
▪ https://channel9.msdn.com/Blogs/dotnet/Get-started-with-VS-Code-using-CSharp-
and-NET-Core-on-MacOS
– CF CLI 導入・Cloud Foundry 環境調達
デモ:
ASP.NET Core のプロジェクトを作成し
て、Visual Studio Code で Cloud
Foundry 上で動作するようコード修正、
Cloud Foundry にプッシュして動かして
みる。
Visual Studio Code でやってみる(2/2)
 手順おさらい
– プロジェクト作成: dotnet new –t web
– .Net Core Buildpack に対応するためサンプルプロジェクトの修正
▪ https://docs.cloudfoundry.org/buildpacks/dotnet-core/index.html
▪ project.json の Microsoft.NETCore.App version を 1.0.1 とかに修正
– Cloud Foundry へのログイン情報確認: Apps Manager より
– cf login
– プロジェクトルート(project.json があるディレクトリ)で cf push
▪ cf push [アプリ名] -k 2G -b dotnet_core_buildpack
▪ 最新版の入手は、-b に以下の URL を指定
https://github.com/cloudfoundry/dotnet-core-buildpack.git
実は Visual Studio Code でやってみる
前に、紆余曲折がありまして…
本当にやりたかったのは、Visual Studio
for Mac で ASP.NET Core プロジェクト
作って、アプリ開発、Cloud Foundry へ
の push というデモだったんですが…
デモ:
試しに、Visual Studio for Mac で
ASP.NET Core プロジェクト作ってみま
すかね…
.NET Core、project.json やめるってよ
 project.json ベースのプロジェクトをやめる!?
– https://www.infoq.com/news/2016/05/project-json/
 Visual Studio for Mac の .NET Core プロジェクトでは早速
project.json をやめて、*.csproj を採用しているようだ…
 .NET Core Buildpack は project.json ベースのプロジェクトで
あることが前提で、*.csproj ベースのプロジェクトは対応し
ていないっぽい(2016 年 12 月現在)
Windows Cell があるじゃないか!
Visual Studio for Mac であえてやってみる(1/2)
 Visual Studio for Mac とは?
– macOS 用の .NET C#/F# IDE
– 中の人は Xamarin: Xamarin は Microsoft に買収済み
– macOS 的ルック・アンド・フィール
 事前準備
– macOS 用の .NET Core SDK の入手・インストール
▪ https://www.microsoft.com/net/download/core
– Visual Studio for Mac の入手・インストール
▪ https://www.visualstudio.com/vs/visual-studio-mac/
– CF CLI 導入・Cloud Foundry 環境調達(Windows Cell 導入済のもの)
デモ:
Visual Studio for Mac 上で ASP.NET の
プロジェクトを作成(非 ASP.NET
Core)して、Cloud Foundry にプッ
シュして動かしてみる。
Visual Studio for Mac であえてやってみる(2/2)
 手順おさらい
– ソリューション作成: GUI より
– Cloud Foundry のログイン情報確認: Apps Manager より
– cf login
– Binary buildpack で Windows Cell に cf push
▪ cf push [アプリ名] -s windows2012R2 -b binary_buildpack -p
/path/to/project_root
Visual Studio(for Windows)を忘れて
いないか?
Visual Studio(for Windows)ではやってみない
 Visual Studio(for Windows)とは?
– 元祖 Windows 用 IDE
– 最近は無償版でもかなり使える!
 .NET Core tool for Visual Studio の追加インストールで、.NET
Core プロジェクトが作成できるようになる
– project.json ベースのプロジェクトができるので、Visual Studio Code
の場合と同様、.NET Core Buildpack を使った cf push ができるもの
と思われる(2016 年 12 月現在)
まとめ
 Cloud Foundry で .NET アプリケーション開発を行うにあたり、
いくつかの IDE を試したり試さなかったり
– Visual Studio Code
– Visual Studio for Mac
– Visual Studio for Windows
 .NET Core 自体、適宜仕様変更がありそうなので安定するま
で静観したい
– .NET Core にこだわらなければ、Cloud Foundry としては .NET アプリ
ケーションは Windows Cell で対応可能
A NEW PLATFORM FOR A NEW ERA

More Related Content

What's hot

cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
 

What's hot (20)

Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのか
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
 
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
 
すごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼうすごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼう
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
 
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
 
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
 
はじめてのCF buildpack
はじめてのCF buildpackはじめてのCF buildpack
はじめてのCF buildpack
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
CloudFoundryをつかってみよう
CloudFoundryをつかってみようCloudFoundryをつかってみよう
CloudFoundryをつかってみよう
 
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーCloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
 
CFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service BrokerCFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service Broker
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
 

Similar to はじめての Cloud Foundry: .NET アプリケーションのはじめ方

Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
 
build 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめbuild 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめ
Sunao Tomita
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing
Kazuki Aranami
 

Similar to はじめての Cloud Foundry: .NET アプリケーションのはじめ方 (20)

WPF & Windows Forms on .NET Core 3.0
WPF & Windows Forms on .NET Core 3.0WPF & Windows Forms on .NET Core 3.0
WPF & Windows Forms on .NET Core 3.0
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
 
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
 
.NETクロスプラットフォーム
.NETクロスプラットフォーム.NETクロスプラットフォーム
.NETクロスプラットフォーム
 
Web matrix2とvisual studio
Web matrix2とvisual studioWeb matrix2とvisual studio
Web matrix2とvisual studio
 
Visual studio2015と
Visual studio2015とVisual studio2015と
Visual studio2015と
 
build 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめbuild 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめ
 
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
Asp.net core mvc の core な話
Asp.net core mvc の core な話Asp.net core mvc の core な話
Asp.net core mvc の core な話
 

More from Akihiro Kitada

More from Akihiro Kitada (13)

How to configure the cluster based on Multi-site (WAN) configuration
How to configure the clusterbased on Multi-site (WAN) configurationHow to configure the clusterbased on Multi-site (WAN) configuration
How to configure the cluster based on Multi-site (WAN) configuration
 
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみたReactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
 
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
 
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
 
Apache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみたApache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみた
 
Apache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄ったApache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄った
 
Grafana を使った Apache Geode クラスター監視
Grafana を使った Apache Geode クラスター監視Grafana を使った Apache Geode クラスター監視
Grafana を使った Apache Geode クラスター監視
 
〜Apache Geode 入門 Multi-site(WAN)構成による クラスター連携
〜Apache Geode 入門 Multi-site(WAN)構成によるクラスター連携〜Apache Geode 入門 Multi-site(WAN)構成によるクラスター連携
〜Apache Geode 入門 Multi-site(WAN)構成による クラスター連携
 
My first reactive programming - To deliver a deathblow “Shoryuken” with using...
My first reactive programming - To deliver a deathblow “Shoryuken” with using...My first reactive programming - To deliver a deathblow “Shoryuken” with using...
My first reactive programming - To deliver a deathblow “Shoryuken” with using...
 
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
 
Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data Gemfire
 
Reactor によるデータインジェスチョン
Reactor によるデータインジェスチョンReactor によるデータインジェスチョン
Reactor によるデータインジェスチョン
 

Recently uploaded

Recently uploaded (10)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

はじめての Cloud Foundry: .NET アプリケーションのはじめ方

  • 2. 何で、Cloud Foundry で .NET アプリ ケーションなんでしたっけ?
  • 3. .NET と Cloud Foundry 関連トピック(1/2)  .NET Core 1.0 リリース! – .NET が Windows、Linux、macOS で利用可能に! – https://blogs.msdn.microsoft.com/chack/2016/06/29/announcing-net-core-1-0/  Microsoft 社からの IDE 関連リリース – .NET Core tool for Visual Studio ▪ https://www.microsoft.com/net/core#windowsvs2015 – Visual Studio Code ▪ https://code.visualstudio.com/ – Visual Studio for Mac ▪ https://www.visualstudio.com/vs/visual-studio-mac/
  • 4. .NET と Cloud Foundry 関連トピック(2/2)  Windows Cell – Cloud Foundry で .NET アプリケーションが Windows 上に push 可能 に!  .NET Core Buildpack – Cloud Foundry で ASP.NET Core アプリケーションが push 可能に! – https://github.com/cloudfoundry/dotnet-core-buildpack
  • 5. .NET Core 技術を中心に、Windows に 縛られないオープンな環境で .NET アプ リケーションを開発して、オープンな PaaS プラットフォームである Cloud Foundry 上で動かすことができたら良く ね?
  • 6. Visual Studio Code でやってみる(1/2)  Visual Studio Code とは? – IDE というかマルチ言語対応のコードエディター – マルチプラットフォーム対応(Windows、Linux、macOS) – Extension のインストールでちょっとした IDE 風に  事前準備 – .NET Core インストール – Visual Studio Code インストール・C# Extension インストール ▪ https://channel9.msdn.com/Blogs/dotnet/Get-started-with-VS-Code-using-CSharp- and-NET-Core-on-MacOS – CF CLI 導入・Cloud Foundry 環境調達
  • 7. デモ: ASP.NET Core のプロジェクトを作成し て、Visual Studio Code で Cloud Foundry 上で動作するようコード修正、 Cloud Foundry にプッシュして動かして みる。
  • 8. Visual Studio Code でやってみる(2/2)  手順おさらい – プロジェクト作成: dotnet new –t web – .Net Core Buildpack に対応するためサンプルプロジェクトの修正 ▪ https://docs.cloudfoundry.org/buildpacks/dotnet-core/index.html ▪ project.json の Microsoft.NETCore.App version を 1.0.1 とかに修正 – Cloud Foundry へのログイン情報確認: Apps Manager より – cf login – プロジェクトルート(project.json があるディレクトリ)で cf push ▪ cf push [アプリ名] -k 2G -b dotnet_core_buildpack ▪ 最新版の入手は、-b に以下の URL を指定 https://github.com/cloudfoundry/dotnet-core-buildpack.git
  • 9. 実は Visual Studio Code でやってみる 前に、紆余曲折がありまして…
  • 10. 本当にやりたかったのは、Visual Studio for Mac で ASP.NET Core プロジェクト 作って、アプリ開発、Cloud Foundry へ の push というデモだったんですが…
  • 11. デモ: 試しに、Visual Studio for Mac で ASP.NET Core プロジェクト作ってみま すかね…
  • 12. .NET Core、project.json やめるってよ  project.json ベースのプロジェクトをやめる!? – https://www.infoq.com/news/2016/05/project-json/  Visual Studio for Mac の .NET Core プロジェクトでは早速 project.json をやめて、*.csproj を採用しているようだ…  .NET Core Buildpack は project.json ベースのプロジェクトで あることが前提で、*.csproj ベースのプロジェクトは対応し ていないっぽい(2016 年 12 月現在)
  • 14. Visual Studio for Mac であえてやってみる(1/2)  Visual Studio for Mac とは? – macOS 用の .NET C#/F# IDE – 中の人は Xamarin: Xamarin は Microsoft に買収済み – macOS 的ルック・アンド・フィール  事前準備 – macOS 用の .NET Core SDK の入手・インストール ▪ https://www.microsoft.com/net/download/core – Visual Studio for Mac の入手・インストール ▪ https://www.visualstudio.com/vs/visual-studio-mac/ – CF CLI 導入・Cloud Foundry 環境調達(Windows Cell 導入済のもの)
  • 15. デモ: Visual Studio for Mac 上で ASP.NET の プロジェクトを作成(非 ASP.NET Core)して、Cloud Foundry にプッ シュして動かしてみる。
  • 16. Visual Studio for Mac であえてやってみる(2/2)  手順おさらい – ソリューション作成: GUI より – Cloud Foundry のログイン情報確認: Apps Manager より – cf login – Binary buildpack で Windows Cell に cf push ▪ cf push [アプリ名] -s windows2012R2 -b binary_buildpack -p /path/to/project_root
  • 18. Visual Studio(for Windows)ではやってみない  Visual Studio(for Windows)とは? – 元祖 Windows 用 IDE – 最近は無償版でもかなり使える!  .NET Core tool for Visual Studio の追加インストールで、.NET Core プロジェクトが作成できるようになる – project.json ベースのプロジェクトができるので、Visual Studio Code の場合と同様、.NET Core Buildpack を使った cf push ができるもの と思われる(2016 年 12 月現在)
  • 19. まとめ  Cloud Foundry で .NET アプリケーション開発を行うにあたり、 いくつかの IDE を試したり試さなかったり – Visual Studio Code – Visual Studio for Mac – Visual Studio for Windows  .NET Core 自体、適宜仕様変更がありそうなので安定するま で静観したい – .NET Core にこだわらなければ、Cloud Foundry としては .NET アプリ ケーションは Windows Cell で対応可能
  • 20. A NEW PLATFORM FOR A NEW ERA