OCI DevOps BuildパイプラインにおけるOracle GraalVM

このガイドでは、Oracle Cloud Infrastructure(OCI)DevOpsサービスでOracle GraalVMを使用する方法について説明します。 OCI DevOpsは、開発者がソフトウェアのOCIコンピューティングプラットフォームへの配信とデプロイメントを自動化できる継続的インテグレーション/継続的デリバリー(CI/CD)サービスです。

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

OCI DevOpsサービスは、基本コンテナーイメージとしてOracle Linux 7を備えたビルドランナーを提供します。また、多数の ランタイムとツールも提供します。

Oracle GraalVM RPMはOracle YUMリポジトリで利用できます。各RPMは自己完結型であり、必要な依存関係を自動的にすべてプルします。YUMパッケージマネージャーを使用して、DevOps BuildパイプラインでOracle GraalVMをインストールして使用できます。

前提条件

Buildパイプラインを使用するには、ビルド仕様ファイルbuild-spec.yml)にステートメントを追加します。DevOps CI/CDプラットフォームはファイルを1つずつ読み取り、コマンドを実行します。YUMパッケージマネージャーコマンドを手動で実行する必要はありません。

Oracle GraalVMのRPMは、パッケージ名graalvm-17-native-imagegraalvm-21-native-image、およびgraalvm-23-native-imageで使用できます。各パッケージにはJDKとNative Imageツールが含まれています。

DevOps BuildパイプラインでOracle GraalVMをインストールして使用するには、次の例に示すようにビルド仕様ファイルを更新します。

  1. Native ImageとJava Development Kit(JDK)を使用してJDK 23用のOracle GraalVMをインストールするコマンドを追加します。 ```yml steps
    • type: Command name: “Install Oracle GraalVM for JDK 23” command: | yum -y install graalvm-23-native-image ```
  2. JDK 23用のOracle GraalVMのJAVA_HOME環境変数の値を設定するコマンドを追加します。
     env:
     variables:
         "JAVA_HOME" : "/usr/lib64/graalvm/graalvm-java23"
    
  3. PATH環境変数の値を設定するコマンドを追加します。
     env:
     variables:
         # PATH is a reserved variable and cannot be defined as a variable.
         # PATH can be changed in a build step and the change is visible in subsequent steps.
    
     steps:
     - type: Command
         name: "Set PATH Variable"
         command: |
         export PATH=$JAVA_HOME/bin:$PATH
    

完全なビルド仕様ファイルの例を次に示します。

Oracle GraalVMはさらに多くの機能を提供しており、それぞれをアドオンとしてインストールできます。 yum listコマンドを使用して、インストールに使用できるRPMのリストを取得します。たとえば、JDK 23用のOracle GraalVMの場合は、次を実行します。

yum list graalvm-23*
...

この機能を試すには、サンプルプロジェクトを使用します。 OCI DevOps BuildパイプラインにおけるOracle GraalVMの使用。OCI DevOpsサービスでOracle GraalVMを設定し、Buildパイプラインを作成し、ビルドステージを追加する方法などを説明します。