Skip to content

DNET_CloudFoundrySecondStep

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Cloud Foundryセカンド・ステップ

概要

内容

準備

こちらの手順では、CFコマンドを使用するようで、
事前に、Cloud Foundry CLI(Win版)をインストールしておく。

演習

get-started-aspnet-core

ソースコードの取得(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
    

manifest.ymlの書換

ライト・アカウントの価格プランは、最大で256MBだったので、

Cloud Foundry CLIでデプロイ

  • 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
    

アプリケーションの動作確認(get-started-aspnet-core)

成功の状態で、前述の[アプリ URL にアクセス]リンクを押下すると、
GetStartedDotnet のエンドポイントにアクセスし動作確認できる。

自作アプリ

OpenShiftセカンド・ステップで使った、コレ(OpenShiftセカンド・ステップの該当節を参照)を使用。

ソースコードの取得(自作アプリ)

  • 以下のURLでGitクローンする。

    https://github.com/daisukenishino2/opneshift.git
    
    • Gitクライアント

      >git clone https://github.com/daisukenishino2/opneshift.git
      
    • TortoiseGitでもOK

  • opneshiftディレクトリ以下にクローンされる。

ビルドして動作確認(自作アプリ)

必要に応じて、前手順と同様にビルドして動作確認

manifest.ymlの追加

ライト・アカウントの価格プランは、最大で256MBだったので、

  • 先程作成したリソースを削除

  • 先のmanifest.ymlを...\opneshift\WebApplication1\以下にコピペし以下のように書換。

    - name: GetStartedDotnet
    

    - name: WebApplication1
    

Cloud Foundry CLIでデプロイ(自作アプリ)

  • 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, デプロイ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally