📝

PaaS | back4app.com | Java | SpringBoot | Docker | PostgreSQL | github

2024/12/15に公開

Java

PaaS

back4app.com

Back4App

  • GitHubアカウントが使える。
  • Freeプランは256MB/0.25CPU。

データーベースはRender.comのPostgreSQLを使用した。


基本

"My Apps"でプロジェクトを作成し、そこにアプリを作成する。

名称 内容
"Web Deployment Platform" プロジェクト&アプリ作成

  1. "Build new app"
  • "Launch Your New App"の"Select the best option for your project"で、"Web Deployment Platform"をクリックする。
  • "Deploy a Web Application"の"Select a GitHub repository"で、使用するGitHubリポジトリの"Select"ボタンをクリックする。
  • "Configure your initial deployment"で、必要な項目を入力していく。最低限設定が必要な項目は表の通り。
項目 内容
App Name アプリ名の設定。
Build and Deploy "Branch" 使用するBranch名を入力
Enviroment Variables 環境変数を必要に応じて設定する。
  • "Create App"ボタンをクリック。
  • "My Apps"で、先ほど作成したアプリ名の"Dashboard"ボタンをクリックする。
  • "Overview"には現在の状況やログが表示される。
  • "Settings"の"Environment Variables"で環境変数を編集できる。
  • "My Apps"の左側のアプリ名の下の辺りに、"Available"と表示されているとデプロイ正常完了。
  • "Available"と表示されている下の辺りに表示されているURLをクリックしてWEBアプリにアクセスできる。

Dockerfile

# ベースイメージを指定
FROM maven:3.8.3-openjdk-17-slim AS build

# 作業ディレクトリを指定
WORKDIR /app

# Maven Wrapperのセットアップ
COPY .mvn .mvn

# Mavenプロジェクトをビルド
COPY pom.xml .
RUN mvn -B dependency:go-offline

# アプリケーションのビルド
COPY src src
RUN mvn -B package -DskipTests

# JREベースイメージを設定
FROM openjdk:17-jdk-slim

# アプリケーションのJARファイルをコピー
COPY --from=build /app/target/*.jar /app/app.jar

# アプリケーションの実行
CMD ["java", "-jar", "/app/app.jar"]

application.properties (SpringBoot)

  • DBへの接続情報は環境変数で指定。環境変数は"Environment Variables"で設定している。
spring.application.name=(アプリ名)
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driverClassName=org.postgresql.Driver
spring.sql.init.encoding=utf-8
spring.sql.init.mode=always
spring.jpa.open-in-view=false
spring.profiles.active = ${ENV:development}
spring.datasource.schema=classpath:schema.sql
spring.datasource.data=classpath:data.sql
spring.datasource.initialization-mode=always

Discussion