OCI Cloud ShellでのOracle GraalVM

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

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

Oracle GraalVM JDK 17およびネイティブ・イメージはクラウド・シェルに事前にインストールされているため、インストールして開発マシンを構成する必要はありません。

ノート: Oracle GraalVMライセンスとサポートは、追加コストなしでOracle Cloud Infrastructureサブスクリプションに含まれています。

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

クラウド・シェルには、Oracle GraalVM JDKを含む複数のJDKが事前インストールされています。

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

  2. csruntimectl java listコマンドを使用して、インストールされたJDKをリストします。

     csruntimectl java list
    

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

  3. 現在のJDKとして「GraalVM for JDK 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
    

これで、クラウド・シェルでOracle GraalVM 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]を押して、アプリケーションを終了します。

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

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