ホームページ > Java > &#&チュートリアル > Koyeb への Spring Boot アプリケーションのデプロイ

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

王林
リリース: 2024-09-03 13:35:02
オリジナル
781 人が閲覧しました

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 を使用してプロジェクトをすぐに生成できます。
    • スプリングウェブ
    • Spring Data 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=<Get this from the Neon or Koyeb dashbord>
DB_PASSWORD=<Get this from the Neon or Koyeb dashbord>
DB_URL=<Get this from the Neon or Koyeb dashbord>
ログイン後にコピー

application.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
ログイン後にコピー

5. コントローラーを作成する

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

package com.example.demo.Modules.User.controller;

import org.springframework.web.bind.annotation.RestController;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;

@RestController
public class UserController {

    @GetMapping("/")
    public String helloWorld() {
        return "Hello World";
    }

}
ログイン後にコピー

6. コードを Github にプッシュします

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


7. Koyeb へのデプロイ

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

結論

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

画像アップローダーの記事を使用してこのアプリケーションを追加できます。

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


?参照

  • Koyeb - Spring Boot デプロイ
  • Koyeb - Java リファレンス

?私に話して

  • リンクトイン
  • Github
  • ポートフォリオ

以上がKoyeb への Spring Boot アプリケーションのデプロイの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート