カテゴリ: Micronaut 更新日: 2026/01/08

Micronautの環境変数設定ガイド!dev・test・prodの切り替え方を解説

Micronautの環境変数設定ガイド!dev・test・prodの切り替え方を解説
Micronautの環境変数設定ガイド!dev・test・prodの切り替え方を解説

先生と生徒の会話形式で理解しよう

生徒

「Micronautで開発環境やテスト環境、本番環境を切り替えるにはどうすればいいですか?」

先生

「Micronautでは環境ごとに設定を分けるために環境変数やプロファイルを利用します。dev、test、prodなど、用途に応じた設定ファイルを用意して切り替えられます。」

生徒

「具体的にはどのファイルを作ればいいんですか?」

先生

「Micronautではapplication.ymlを基本として、application-dev.ymlapplication-test.ymlapplication-prod.ymlのように環境ごとの設定ファイルを作ります。」

生徒

「それぞれの環境で設定を切り替える方法は?」

先生

「環境変数MICRONAUT_ENVIRONMENTSに指定することで、起動時に適用するプロファイルを決めることができます。」

1. 環境ごとの設定ファイルの作成

1. 環境ごとの設定ファイルの作成
1. 環境ごとの設定ファイルの作成

Micronautでは基本設定をapplication.ymlに書き、環境別の設定はapplication-dev.ymlapplication-test.ymlapplication-prod.ymlに分けます。例えば、サーバーポートやデータベース接続先など、環境ごとに異なる設定を管理できます。

2. dev環境の設定例

2. dev環境の設定例
2. dev環境の設定例

開発環境では、サーバーポートを8080に設定し、ローカルのデータベースを利用する場合は以下のように設定します。


micronaut:
  application:
    name: demo
server:
  port: 8080
datasources:
  default:
    url: jdbc:h2:mem:devDb
    username: sa
    password: ""
    driverClassName: org.h2.Driver
    dialect: H2

このように設定することで、開発中はローカル環境向けの設定が自動で適用されます。

3. test環境の設定例

3. test環境の設定例
3. test環境の設定例

テスト環境では、ポートやデータベース接続を別にし、CI環境での動作確認に使います。


micronaut:
  application:
    name: demo
server:
  port: 8081
datasources:
  default:
    url: jdbc:h2:mem:testDb
    username: sa
    password: ""
    driverClassName: org.h2.Driver
    dialect: H2

テスト環境向けの設定ファイルを用意することで、本番データを汚さず安全にテストできます。

4. prod環境の設定例

4. prod環境の設定例
4. prod環境の設定例

本番環境では、外部データベースを使用し、セキュリティ設定も強化します。ポートや接続先を変更するだけでなく、ログレベルやキャッシュ設定も本番用に最適化します。


micronaut:
  application:
    name: demo
server:
  port: 80
datasources:
  default:
    url: jdbc:postgresql://prod-db:5432/prodDb
    username: prodUser
    password: secret
    driverClassName: org.postgresql.Driver
    dialect: POSTGRES

5. 環境変数でプロファイルを切り替える方法

5. 環境変数でプロファイルを切り替える方法
5. 環境変数でプロファイルを切り替える方法

Micronautアプリを起動する際に、環境変数MICRONAUT_ENVIRONMENTSを設定すると、指定したプロファイルの設定が適用されます。例えば、開発環境で実行する場合は以下のようにします。


export MICRONAUT_ENVIRONMENTS=dev
./gradlew run

Windowsの場合はset MICRONAUT_ENVIRONMENTS=devで設定します。この方法を使うことで、同じコードベースでも環境ごとの設定を簡単に切り替えられます。

6. サンプルJavaコードで設定を取得する

6. サンプルJavaコードで設定を取得する
6. サンプルJavaコードで設定を取得する

Micronautでは環境変数やプロファイルごとの設定をJavaコードから取得できます。以下は簡単な例です。


package example.micronaut;

import io.micronaut.context.annotation.Value;
import io.micronaut.runtime.Micronaut;

public class Application {
    @Value("${server.port}")
    private static String serverPort;

    public static void main(String[] args) {
        Micronaut.run(Application.class, args);
        System.out.println("Server is running on port: " + serverPort);
    }
}

このコードを実行すると、環境ごとに設定したサーバーポートが表示されます。環境変数とプロファイルの連携で、開発、テスト、本番環境の切り替えが簡単に行えます。

7. 注意点とベストプラクティス

7. 注意点とベストプラクティス
7. 注意点とベストプラクティス

Micronautの環境変数とプロファイルを活用する際は、環境ごとの設定ファイルが正しく配置されているか確認することが重要です。特に本番環境の設定は誤ってコミットしないよう、gitignoreに含めたり、外部環境変数で上書きする方法が安全です。開発環境やテスト環境では、ポートやデータベース接続を柔軟に切り替えることで作業効率が向上します。

まとめ

まとめ
まとめ

Micronautにおける環境変数設定の重要性を振り返る

この記事では、Micronautを使ったアプリケーション開発において欠かせない環境変数設定と、dev環境・test環境・prod環境の切り替え方法について詳しく解説してきました。 Micronautは軽量で高速なフレームワークである一方、設定管理を正しく行わなければ、開発効率の低下や本番トラブルの原因にもなります。 そのため、環境ごとに設定ファイルを分離し、環境変数を使って柔軟に切り替える考え方は、Micronaut開発の基本でありながら非常に重要なポイントです。

基本となるapplication.ymlに共通設定を書き、application-dev.ymlapplication-test.ymlapplication-prod.ymlといった環境別設定ファイルを用意することで、 開発環境ではローカル向け設定、テスト環境では検証用設定、本番環境ではセキュリティを重視した設定を安全に管理できます。 この構成はMicronautだけでなく、マイクロサービスやクラウドネイティブ開発全体に共通する考え方でもあります。

環境変数によるプロファイル切り替えのメリット

環境変数MICRONAUT_ENVIRONMENTSを利用することで、同じソースコードを使いながら、起動時に適用する設定を簡単に切り替えられる点も大きなメリットです。 開発者が手動で設定ファイルを書き換える必要がなく、CI環境や本番サーバーでも安全に運用できます。 特にdev・test・prodといった複数環境を持つプロジェクトでは、環境変数による管理が標準的な手法となっています。

また、Javaコード側では@Valueアノテーションを使って設定値を取得できるため、 環境ごとに異なるポート番号やデータベース接続情報を意識せずに実装できます。 これにより、設定とロジックを明確に分離でき、保守性の高いMicronautアプリケーションを構築できます。

まとめとしてのサンプルプログラム

以下は、これまで学んだ環境変数と設定ファイルの考え方を踏まえた、簡単なサンプル例です。 記事中と同じ構成やクラスの書き方を意識し、Micronautで設定値を扱う基本イメージを再確認しましょう。


package example.micronaut;

import io.micronaut.context.annotation.Value;
import io.micronaut.runtime.Micronaut;

public class Application {

    @Value("${server.port}")
    private static String port;

    public static void main(String[] args) {
        Micronaut.run(Application.class, args);
        System.out.println("現在の実行環境のポート番号は " + port + " です");
    }
}

このようなコードを書くことで、dev環境では開発用ポート、test環境ではテスト用ポート、prod環境では本番用ポートが自動的に反映されます。 環境変数とプロファイルの仕組みを理解しておくことで、Micronautを使った実践的なアプリケーション開発がスムーズに進みます。

先生と生徒の振り返り会話

生徒

「今回の記事を通して、Micronautで環境変数を使う理由がよく分かりました。 dev、test、prodを分けることで、設定ミスを防げるんですね。」

先生

「その通りです。環境ごとに設定を分離することで、開発効率も安全性も大きく向上します。 特に本番環境では、設定の扱いがとても重要になります。」

生徒

「環境変数で切り替えられるなら、同じMicronautアプリでも用途に応じて柔軟に使えそうですね。」

先生

「はい。Micronautは軽量ですが、設定管理の考え方はとても実践的です。 今回学んだ環境変数設定やプロファイルの使い方は、今後のMicronaut開発でも必ず役立ちますよ。」

生徒

「これからは、環境ごとの設定を意識しながらMicronautでアプリを作ってみます!」

関連記事:
カテゴリの一覧へ
新着記事
New1
Quarkus
Quarkusのフォーム認証を基礎から解説!初心者向けセキュリティ入門ガイド
New2
Micronaut
MicronautプロジェクトをGradleで管理する基礎!build.gradleの役割を解説
New3
Micronaut
LinuxでMicronautをセットアップする方法!パッケージ管理とGradle連携
New4
Java
Javaのswitch文を徹底解説!case・defaultの書き方と実例まとめ
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkusプロジェクト構成の基本を完全解説!初心者でも迷わない「どこに何を書くか」ガイド
No.2
Java&Spring記事人気No2
Quarkus
Quarkusのセキュリティ基礎を初心者でもわかるように解説!
No.3
Java&Spring記事人気No3
Quarkus
QuarkusとMicronautとHelidonを徹底比較!軽量Javaフレームワークの違いを初心者向けに解説
No.4
Java&Spring記事人気No4
Quarkus
Quarkusの開発環境構築で躓きやすいポイントを完全解説!初心者でも安心して始めるためのチェックガイド
No.5
Java&Spring記事人気No5
Micronaut
MicronautとSpring Bootの違いとは?アーキテクチャ比較で速さの秘密を理解する
No.6
Java&Spring記事人気No6
Quarkus
Quarkusでマイクロサービス開発が加速する理由を徹底解説!Java初心者でも分かるクラウドネイティブ
No.7
Java&Spring記事人気No7
Micronaut
Micronautのアプリケーション起動が速い理由を初心者向けに解説
No.8
Java&Spring記事人気No8
Micronaut
MicronautのAOPが高速な理由とは?コンパイル時AOPの仕組みを初心者向けに徹底解説