/cap

軽量サーバレスアプリケーション群を統合するマネジメントコンソール

Primary LanguageJava

cap

CI Build version

概要

軽量サーバレスアプリケーション群を統合できる API サーバ & マネジメントコンソールです。 API ゲートウェイと異なり、以下の特徴を持ちます。

  • Docker コンテナの払い出し/デプロイメント機能を提供
  • アプリケーションごとのバッチジョブを cron 式でトリガーできる

汎用的な利用は想定しておらず、作者が自身のために開発しているものです。

開発

開発環境

  • Java OpenJDK 17
  • Spring Boot 3.0
  • MySQL 8.0
  • Redis 7.0
  • RabbitMQ 3.12
  • Docker Compose V2

ビルド方法

ビルドに成功すると、build/libs直下に.jarファイルが生成されます。

$ ./gradlew bootJar

起動方法

デフォルトで使用されるポート番号は8080です。-Dserver.port=XXXXオプション、もしくはPORT環境変数をセットすることでポート番号を変更できます。

$ docker compose up -d
$ ./gradlew bootRun

データベースマイグレーション

src/main/resource/db/migration でマイグレーションファイルを管理しています。

# マイグレーションファイルを実行(アプリケーション/テスト実行時に自動で実行される)
$ ./gradlew flywaymigrate

依存関係のアップデート

Gradle Versions Plugin を使って、outdated な依存関係をアップデートします。

下記コマンドの実行後、出力されたレポートに従って build.gradle.kts に記載されたバージョンを書き換えてください。

$ ./gradlew dependencyUpdates -Drevision=release

コードフォーマット

$ ./gradlew spotlessApply