国内では初めて東京近郊以外の地域*1でセッションしました。資料はこちらです。
www.slideshare.net
セッションで紹介した(しようとした)サンプルコードのGitHubリンクはこちらです。
まず、最初のリモートデバッグのところですが、後でお見せしたデモ動画の中でリモート接続していたアプリはこのリポジトリです。といっても、これはdotnet new mvc
で作ってソリューションファイルを追加しただけのアプリです。この素のアプリでLinux containerの上でリモートデバッグもできます。
次の設定ファイルの注入はここにサンプルアプリがあります。OpenShift上で動かしてOpenShift(kubernetes)のconfigmapと組み合わせるデモなのですが、/etc/data/appsettings.jsonに設定ファイルを置けばどこでも動きます。
ファイルパスがunix前提なので変更したい場合はここを変更します。
dotnetcore-demo-app/Startup.cs at master · tanaka-takayoshi/dotnetcore-demo-app · GitHub
appsettings.jsonはこの形式を前提にしています。
{ "Option1": "Ignite!!", "Option2": "2017", "subsection": { "SubOption1": "Container is Linux" } }
HTTPセッションをRedisに格納するサンプルはこちらです。以前やったデモの一部なのでサブディレクトリに格納されています。
Redisですが、今回はAzure Redis Cacheをつかっています。それ以外に普通のどこかにRedisサーバーを動かしてもよいです。Redisの接続情報は環境変数REDIS_CONNECTION_STRING
に設定するとそれを使います。ConnectionStringはStackExchange.Redis
の形式ですが、Azure Redis Cacheの場合はAzure Portalからコピーできる形式です。
具体的にはこんな形式です。
<name>.redis.cache.windows.net:<port>,password=<password>,ssl=True,abortConnect=False
最後に紹介した、ASP.NET CoreのBlog Templateですが、本家のサイトはこちらです。
このプロジェクトはプロジェクトテンプレートをインストールして、テンプレートとして実際に動かすプロジェクトを生成する仕組みなのですが、Linuxで動かせるように修正した状態のプロジェクトがこちらになります。
実際に動かして使いたい場合は、SQLiteの保存先(上では/etc/data/以下)と、ブログ投稿データの保存先(./BlogFiles)を永続化しておくのがよいでしょう。
あと肝心のOpenShift宣伝タイムでいい忘れていたのですが、OpenShiftに興味あるけどいきなり弊社営業に問い合わせるのはハードルが高すぎるという場合は昨日書いた、Windows/Mac/Linuxのシングルホストで動かせるContainer Development Kitを使ってみてください。
質問などあればぜひTwitterなどでお寄せください。
*1:筑波を含む