Java / Kotlin 言語で作成された Spring Boot アプリケーションのデプロイガイドです。


事前準備

プロジェクト設定ファイル(pom.xml, build.gradle など)の JDK バージョンがデプロイの過程で選択したバージョンと一致しない場合、ビルドが失敗する可能性があります。

基本的にJAR形式のビルド成果物およびスクリプトをサポートしています。ただし、WARの場合はExecutable WARのみ対応しています。

テンプレートとリポジトリの選択

ダッシュボードの または ⌘ + K で生成されるデプロイモーダルで Spring Boot テンプレートを選択し、続くドロップダウンメニューから連携されたGitHubアカウントのリポジトリを選択するか、Git URLタブでGitリポジトリURLを入力してください。

デプロイ設定値を入力

次の各項目にサービスをデプロイするための設定値を入力してください。

リソース設定とデプロイ

  • リソースタイプオンデマンドとスポットリソースから選択

  • CPU:サービスで利用可能なvCPUの上限を設定。最小構成時は0.1 vCPUを割り当て

  • メモリ:サービスで利用可能なメモリの上限を設定

  • レプリカ:設定した数に応じサービスを水平スケーリングし、負荷分散と可用性確保

  • デプロイデプロイをクリック

デプロイが完了したらプレビュードメインを通じてブラウザでウェブページを確認したり、APIツールを使用してリクエストを送信できます。

リソース制限によりデプロイできない場合は、スペースとリソースの管理ページを参照してスペースにリソースを追加してください。

高度な設定機能

リポジトリ内Jarファイルデプロイ

  • Spring Boot Jar ファイルをリポジトリに反映しデプロイする場合、デプロイ設定画面の Pre-built jar file path フィールドに各ビルドツールに合った jar ファイルのパスを入力してデプロイを進行します。
    • Gradle: build/libs/[プロジェクト名].jar
    • Maven: target/[プロジェクト名].jar

ビルド時に特定リソースパスを含む

  • エールで Spring Boot プロジェクトをデプロイする際、静的リソースの位置として WebProperties.Resources に定義された /static などを除き、src ディレクトリのファイルはビルド時に含まれません。
    プロジェクトで特定のパスのリソースを参照する場合、デプロイ設定時 Include files in build フィールドに該当ディレクトリパスを入力してデプロイします。 区切り文字としてコンマ(,)を使用して複数のディレクトリを含めることができます。

Multi Module Application デプロイ

  • 複数のモジュールで構成される Spring Boot アプリケーションをデプロイする場合、いくつかの作業が必要です。 以下の簡単な例を通じてデプロイ方法を参考にしてください。

    project-root/
      ├── build.gradle.kts
      ├── settings.gradle.kts
      ├── api/
      │   ├── build.gradle.kts
      │   └── src/
      │       └── main/
      │           ├── kotlin/
      │           └── resources/
      ├── core/
      │   ├── build.gradle.kts
      │   └── src/
      │       └── main/
      │           ├── kotlin/
      │           └── resources/
      └── gradle/
          └── wrapper/
              ├── gradle-wrapper.jar
              └── gradle-wrapper.properties
    
    • api, core モジュールで構成し api を main class に指定
    • Spring Boot テンプレートを選択した後、次の設定を適用
      • Start command: java -jar api/build/libs/api-0.0.1-SNAPSHOT.jar
        • java -jar の引数として <main モジュール名>/build/libs/<main モジュール名>-0.0.1-SNAPSHOT.jar
      • Include files in build: core,api
        • モジュールのディレクトリ名をコンマで区切って入力

Spring Boot Docs