-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_CloudFoundrySecondStep
-
戻る
- Cloud Foundryファースト・ステップ
- Cloud Foundryセカンド・ステップ(本ページ)
-
「ファースト・ステップ」では、
基本的操作とNode.jsアプリケーションのデプロイを行った。 -
「セカンド・ステップ」では、
以下の手順でASP.NET Coreアプリケーションのデプロイを行う。- IBM Bluemixで.Net Coreしてみる
https://qiita.com/yakumomo/items/71025e7234ff77d63320
- IBM Bluemixで.Net Coreしてみる
こちらの手順では、CFコマンドを使用するようで、
事前に、Cloud Foundry CLI(Win版)をインストールしておく。
-
cloudfoundry/cli: The official command line client for Cloud Foundry
https://github.com/cloudfoundry/cli#downloads- exe形式インストーラーでインストール
- cmdで「cf」が動くか確認する。
- IBM-Cloud/get-started-aspnet-core
https://github.com/IBM-Cloud/get-started-aspnet-core
-
以下のURLでGitクローンする。
https://github.com/IBM-Bluemix/get-started-aspnet-core-
Gitクライアント
>git clone https://github.com/IBM-Bluemix/get-started-aspnet-core -
TortoiseGitでもOK
-
-
get-started-aspnet-coreディレクトリ以下にクローンされる。
VisualStudioからビルドしてもイイが、以下でも可能。
-
get-started-aspnet-coreにcd
>cd .../get-started-aspnet-core -
ビルドして実行
>dotnet restore >dotnet run -p <*.csprojファイルパス> launchSettings.json からの起動設定を使用中... Hosting environment: Development Content root path: ...\get-started-aspnet-core\src\GetStartedDotnet Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down. -
エンドポイントにアクセスして動作確認
http://localhost:5000
ライト・アカウントの価格プランは、最大で256MBだったので、
-
ファースト・ステップで作成したリソースを削除
-
以下のように書換。
memory: 512M↓
memory: 256M
-
Cloud Foundry CLIを利用し、IBM Cloudにログイン
-
やっぱりPWDでログインする。
>cf login API endpoint> https://api.ng.bluemix.net Email> daisukenishino77@gmail.com Password> Authenticating... OK Targeted org daisukenishino77@gmail.com Targeted space dev API endpoint: https://api.ng.bluemix.net (API version: 2.92.0) User: daisukenishino77@gmail.com Org: daisukenishino77@gmail.com Space: dev
-
-
get-started-aspnet-coreディレクトリでcf push
>cf push -
失敗したらログ確認(成功してもログ確認)
>cf logs GetStartedDotnet --recent
成功の状態で、前述の[アプリ URL にアクセス]リンクを押下すると、
GetStartedDotnet のエンドポイントにアクセスし動作確認できる。
OpenShiftセカンド・ステップで使った、コレ(OpenShiftセカンド・ステップの該当節を参照)を使用。
-
以下のURLでGitクローンする。
https://github.com/daisukenishino2/opneshift.git-
Gitクライアント
>git clone https://github.com/daisukenishino2/opneshift.git -
TortoiseGitでもOK
-
-
opneshiftディレクトリ以下にクローンされる。
必要に応じて、前手順と同様にビルドして動作確認。
ライト・アカウントの価格プランは、最大で256MBだったので、
-
先程作成したリソースを削除
-
先のmanifest.ymlを...\opneshift\WebApplication1\以下にコピペし以下のように書換。
- name: GetStartedDotnet↓
- name: WebApplication1
-
Cloud Foundry CLIを利用し、IBM Cloudにログイン
-
get-started-aspnet-coreディレクトリでcf push
>cf push -
失敗したらログ確認(成功してもログ確認)
>cf logs WebApplication1 --recent
成功の状態で、前述の[アプリ URL にアクセス]リンクを押下すると、
WebApplication1 のエンドポイントにアクセスし動作確認できる。
実は、この手順動かなかった。以下の対応で動くようになる。
-
以下のようなログを確認できた。
>cf logs WebApplication1 --recent ・・・ 2018-06-29T16:12:24.16+0900 [APP/PROC/WEB/0] ERR Error: 2018-06-29T16:12:24.16+0900 [APP/PROC/WEB/0] ERR An assembly specified in the application dependencies manifest (WebApplication1.deps.json) was not found: 2018-06-29T16:12:24.16+0900 [APP/PROC/WEB/0] ERR package: 'Microsoft.AspNetCore.Antiforgery', version: '2.0.2' 2018-06-29T16:12:24.16+0900 [APP/PROC/WEB/0] ERR path: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll' 2018-06-29T16:12:24.16+0900 [APP/PROC/WEB/0] ERR This assembly was expected to be in the local runtime store as the application was published using the following target manifest files: 2018-06-29T16:12:24.16+0900 [APP/PROC/WEB/0] ERR aspnetcore-store-2.0.6.xml ・・・ -
エラーメッセージから以下のような情報を取得できた。
-
ASP.NET Core MVCなアプリのコンテナで、
ASP.NET Coreのバージョンを上げようとしたら
ビルドに失敗するようになったのと原因 - Living Absurd World
https://blog.hmatoba.net/Article/170 -
上記の内容をサマると、
-
原因:依存パッケージのバージョン不一致
-
対策:PublishWithAspNetCoreTargetManifest=falseを追記すると治る。
<PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> </PropertyGroup>
-
-
-
上記の対策後、再度「cf push」して、(詳細あまり解ってないケド)動いた。
移行メモ
- 「戻る」の並びにある「Cloud Foundryセカンド・ステップ」は自ページのため、 その旨を補った。
- 同名の見出し(「ソースコードの取得」「ビルドして動作確認」 「Cloud Foundry CLIでデプロイ」「アプリケーションの動作確認」)が 複数あり GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの ASP.NET Coreの開発 に張り替えた。
- 元 Wiki の行頭空白によるプレフォーマット・ブロックは、 フェンス付きコードブロックにした。
- 本文中のメールアドレスは元 Wiki のまま残した。
Tags: 移行, Cloud Foundry, IBM Cloud, Bluemix, cf CLI, ASP.NET Core, manifest.yml, デプロイ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。