Spring Music のデプロイ

以下の手順では、Kf Cloud Service Broker for Google Cloud を使用して Cloud Foundry Spring Music 参照アプリをデプロイする手順を説明します。

  1. ソースから Java アプリをビルド: Spring Music のソースはローカルではなくクラスタ上でビルドされます。

  2. サービス ブローカーの統合: Kf Cloud Service Broker を使用してデータベースを作成し、Spring Music アプリをデータベースにバインドします。

  3. Spring Cloud Connectors: Spring Cloud Connectors は、Spring Music App がバインドされた CF サービスなどを検出するために使用され、Kf とシームレスに連携します。

  4. Java バージョンの構成: ビルドパックで使用する Java のバージョンを指定します。

前提条件

Kf Cloud Service Broker をインストールして構成する

Spring Music のデプロイ

ソースのクローンを作成する

  1. Spring Music リポのクローンを作成します。

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
    
  2. manifest.yml を編集し、path: build/libs/spring-music-1.0.jarstack: org.cloudfoundry.stacks.cflinuxfs3 に置き換えます。これにより、Kf に Cloud Native Buildpacks を使用してソースからビルドするよう指示されるため、ローカルでコンパイルする必要はありません。

    ---
    applications:
    - name: spring-music
      memory: 1G
      random-route: true
      stack: org.cloudfoundry.stacks.cflinuxfs3
      env:
        JBP_CONFIG_SPRING_AUTO_RECONFIGURATION: '{enabled: false}'
    #    JBP_CONFIG_OPEN_JDK_JRE: '{ jre: { version: 11.+ } }'
    

バインディングなしで Spring Music を push する

  1. Space を作成してターゲットとします。

    kf create-space test
    kf target -s test
    
  2. Spring Music をデプロイします。

    kf push spring-music
    
  3. プロキシ機能を使用して、デプロイされたアプリにアクセスします。

    1. プロキシを開始します。

      kf proxy spring-music
      
    2. ブラウザで http://localhost:8080 を開きます。

    デプロイされたアプリには、どの Spring プロファイルが使用されているかを表示する UI 要素が含まれています(Spring プロファイルがある場合)。ここではプロファイルは使用されず、インメモリ データベースが使用されていることを示します。

データベースを作成してバインドする

  1. マーケットプレイスから PostgresSQL データベースを作成します。

     kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"COMPUTE_REGION","authorized_network":"VPC_NAME"}'
    
  2. Service をアプリにバインドします。

     kf bind-service spring-music spring-music-postgres-db
    
  3. アプリを再起動し、VCAP_SERVICES 環境変数を介してサービス バインディングを使用できるようにします。

     kf restart spring-music
    
  4. (省略可)バインディングの詳細を表示します。

     kf bindings
    
  5. アプリが新しいバインディングを使用していることを確認します。

    1. プロキシを開始します。

      kf proxy spring-music
      
    2. ブラウザで http://localhost:8080 を開きます。

      Postgres プロファイルが使用され、アプリにバインドされた Service の名前が表示されるようになりました。

クリーンアップ

  1. PostgreSQL サービスをバインド解除して削除します。

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. このアプリを削除します。

    kf delete spring-music