OCI Cloud ShellでのGraalVM Enterprise

このガイドでは、Oracle Cloud Infrastructure (OCI) Cloud ShellでGraalVM Enterprise Editionを開始する方法について説明します。

OCI Cloud Shellは、Oracle Cloudコンソールからアクセスできるブラウザベースの端末です。事前認証済のOCIコマンドライン・インタフェース(CLI)を備えたLinuxシェルと、事前インストール済の開発者ツールにアクセス可能で、5GBのストレージが付属しています。

GraalVM Enterprise JDK 17およびネイティブ・イメージがクラウド・シェルに事前にインストールされています。

ノート: GraalVM Enterpriseは、追加コストなしでOracle Cloud Infrastructure上で使用できます。

クラウド・シェルでGraalVM Enterpriseを使用するステップ

クラウド・シェルには、GraalVM Enterprise JDKなど、事前インストールされたJDKがいくつかあります。

  1. OCIコンソールにログインし、クラウド・シェルを起動します

  2. csruntimectl java listコマンドを使用して、インストールされたJDKをリストします。次の出力が表示されるはずです。

     csruntimectl java list
    

    出力で、クラウド・シェルに事前にインストールされているJDK (GraalVM JDK for Java 17、Oracle JDK for Java 11およびOracle JDK for Java 8)がリスト表示されます。アスタリスクでマークされたJDKは、現在のJDKです。

  3. 現在のJDKとしてGraalVM JDK for Java 17を選択します:

     csruntimectl java set graalvmeejdk-17
    

    確認メッセージがThe current managed java version is set to graalvmeejdk-17と出力されます。

  4. ここで、環境変数PATHおよびJAVA_HOMEの値と、javaのバージョン、native-imageジェネレータを確認します:

     echo $JAVA_HOME
    
     echo $PATH
    
     java -version
    
     native-image --version
    

すべて、クラウド・シェルでGraalVM Enterprise JDKを使用してJavaアプリケーションを実行するように設定されています。

Javaアプリケーションの実行

実行する例は、最小限のRESTベースのアプリケーションで、Mavenを使用してSpring Boot上にビルドされます。pom.xmlファイルは、Spring Native Toolsが機能として追加されたSpring Initializrを使用して生成されました。Spring AOTプラグインは、Springアプリケーションをネイティブ実行可能ファイルに事前に変換します。

  1. デモ・リポジトリをクローニングし、アプリケーション・ルート・ディレクトリに移動します:

    git clone https://github.com/graalvm/graalvm-demos.git
    
    cd graalvm-demos/spring-native-image
    
  2. Mavenを使用してアプリケーションをビルドします(Apache Mavenもクラウド・シェルに事前にインストールされています):

     mvn clean package
    

    これにより、アプリケーションのすべての依存性と正しく構成されたMANIFESTファイルを含む、実行可能なJARファイルが生成されます。

  3. Javaアプリケーションを実行します:

     java -jar ./target/benchmark-jibber-0.0.1-SNAPSHOT.jar &
    

    RESTエンドポイントを呼び出します:

     curl http://localhost:8080/jibber
    

    ナンセンス・バースが出力されます。

    アプリケーションを前面に移動します:

     fg
    

    [Ctrl]+[C]を押して、アプリケーションを終了します。

  4. 次に、native Mavenプロファイルを使用して、このSpring Bootアプリケーションのネイティブ実行可能ファイルをビルドします。

     mvn -Pnative native:compile
    

    これにより、targetディレクトリ(benchmark-jibberという名前)にLinux用のネイティブ実行可能ファイルが生成されます。

  5. 次のコマンドを使用して、ネイティブ実行可能ファイルを実行します:

    ./target/benchmark-jibber &
    

    テストするエンドポイントを呼び出します:

     curl http://localhost:8080/jibber
    

    再度、ナンセンス・バースが出力されます。

    アプリケーションを前面に移動します:

     fg
    

    [Ctrl]+[C]を押して、アプリケーションを終了します。

お疲れ様でした。GraalVM Enterprise JDKおよびネイティブ・イメージを使用して、クラウド・シェルでSpring Boot RESTアプリケーションをビルドおよびテストすることに成功しました。

したがって、OCI Cloud ShellでGraalVM Enterpriseを使用して、Micronaut、Springおよびその他のマイクロサービス・フレームワークで単純なJavaアプリケーションを簡単にビルドおよびテストできます。