「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Koyeb への Spring Boot アプリケーションのデプロイ

Koyeb への Spring Boot アプリケーションのデプロイ

2024 年 9 月 17 日に公開
ブラウズ:707

Deploying Spring Boot Applications on Koyeb

導入

私たちが開発者として何かを作り始めるとき、私たちの重要な目標の 1 つは、作成したものを他の人と共有することです。フロントエンド開発者にとって、フロントエンド アプリをシームレスにサポートする Vercel や Netlify などの優れたホスティング サービスのおかげで、これは多くの場合簡単です。ただし、バックエンド開発者にとって、私たちの作品を紹介することはより困難な場合があります。私たちは API を構築し、データベースを操作します。JSON は強力かもしれませんが、CSS や Lottie で構築されたアニメーションほど視覚的に魅力的ではありません。

そのため、バックエンド アプリケーションをデプロイする効率的で信頼性の高い方法を見つけることが重要です。人気のある Java ベースのフレームワークである Spring Boot は、実稼働対応のアプリケーションを構築するプロセスを簡素化しますが、それらのデプロイは依然として課題となる可能性があります。ここで Koyeb が登場します。Koyeb は、開発者が最小限のセットアップで Spring Boot アプリケーションを迅速にデプロイできる強力で使いやすいプラットフォームを提供します。このガイドでは、Koyeb 上の PostgreSQL データベースを使用して Spring Boot アプリケーションをデプロイするプロセス全体を、最初から最後まで説明します。


1. 前提条件

展開プロセスに入る前に、次のものが揃っていることを確認してください:

  • 基本的な Spring Boot アプリケーション。 アプリケーションがない場合は、次の依存関係を持つ Spring Initializr を使用してプロジェクトをすぐに生成できます。
    • スプリングウェブ
    • スプリングデータ JPA
    • PostgreSQL ドライバー
  • Spring Boot プロジェクトがホストされる GitHub (または GitLab/Bitbucket) リポジトリ
  • Neon アカウント。 Neon にサインアップ
  • Koyeb アカウント。 お持ちでない場合は、Koyeb の Web サイトでサインアップしてください。
  • Spring Boot プロジェクトの構成に応じて、
  • Maven または Gradle がインストールされました

2. データベースのセットアップ

    Koyeb で、
  • 無料 PostgreSQL データベースをインスタンス化します。これにより、データベース URL が提供されますが、1 か月あたり 50 時間に制限されます。
-Neon 上で、

無料 PostgreSQL データベースをインスタンス化します。これにより、データベース URL も提供されます。


3. Spring Bootでデータベースを接続する

リソース ディレクトリ内に env.properties というファイルを作成します。その中にすべての環境変数 (この場合は DB_URL、DB_USERNAME、DB_PASSWORD) が保存されます。

このファイルを Github のリポジトリに決してコミットしないでくださいenv.properties ファイル:


DB_USERNAME= DB_PASSWORD= DB_URL=

DB_USERNAME=
DB_PASSWORD=
DB_URL=

アプリケーション.プロパティファイル:


サーバー.ポート=${ポート:8080} spring.datasource.url=${DB_URL} spring.datasource.username=${DB_USERNAME} spring.datasource.password=${DB_PASSWORD} spring.jpa.hibernate.ddl-auto=update spring.config.import=クラスパス:env.properties

server.port=${PORT:8080}

spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}

spring.jpa.hibernate.ddl-auto=update

spring.config.import=classpath:env.properties

  • server.port - これはアプリケーションが実行されるポートです。 PORT が null の場合に備えて、環境変数 PORT にフォールバック 8080 を設定します。
  • spring.datasource.url - これは、Neon または Koyeb ダッシュボードからの環境変数です。
  • spring.datasource.username - これは、Neon または Koyeb ダッシュボードからの環境変数です。
  • spring.datasource.password - これは、Neon または Koyeb ダッシュボードからの環境変数です。
  • spring.config.import - 機密データを保存するファイルをインポートします。
4. system.properties ファイルを作成します。

プロジェクトのルートに、system.properties ファイルを作成します。

このファイルは、Koyeb Java ビルドパックが正しいバージョンでプロジェクトを実行できるように、使用する Java ランタイム バージョンを指定します。

覚えておいてください

: Koyeb はメジャー バージョン値 1.8、11、13、15、17、19、20 を受け入れます。 Java バージョンを指定しない場合、

バージョン 1.8

が使用されます。

Java 21

を使用しています。別のバージョンを使用している場合は、それに応じて変更してください。 システム.プロパティ


java.runtime.version=21

java.runtime.version=21
5. コントローラーを作成する

このコントローラーは / ルートに Hello World メッセージを表示します。


パッケージcom.example.demo.Modules.User.controller; org.springframework.web.bind.annotation.RestController をインポートします。 org.springframework.http.ResponseEntity をインポートします。 org.springframework.web.bind.annotation.GetMapping をインポートします。 @RestController パブリック クラス UserController { @GetMapping("/") public String helloWorld() { 「Hello World」を返します。 } }

java.runtime.version=21
6. コードを Github にプッシュします

Github にパブリック リポジトリを作成し、コードをプッシュします。このリポジトリの

URL

を取得します。

7. Koyeb へのデプロイ

koyeb アカウントを入力してください。
  • [サービス] > [Web サービス] > [Github を使用して Web サービスを作成] に移動します。
  • Github に接続するか、パブリック リポジトリの URL を貼り付けます。
  • プロジェクトがビルドされるまで待ちます。
  • 成功すると、パブリック URL が生成され、誰もが Spring Boot アプリケーションにアクセスできるようになります。
結論

それでおしまい! Spring Boot アプリケーションを作成し、クラウド データベースに接続し、すべてを Koyeb にデプロイしました。これは、ポートフォリオで紹介したいプロジェクトの始まりとなり、クライアントにあなたが何ができるかを見てもらうことができます。

このアプリケーションは、画像アップローダーの記事で追加できます。

読んでいただきありがとうございます!

?参照

Koyeb - Spring Boot デプロイ
  • Koyeb - Java リファレンス
?私に話して

リンクトイン
  • ギットハブ
  • ポートフォリオ
リリースステートメント この記事は次の場所に転載されています: https://dev.to/mspilari/deploying-spring-boot-applications-on-koyeb-44kj?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3