※ 本記事は、Sachin Pikleによる”Announcing GraalVM Enterprise in Oracle Cloud Infrastructure DevOps“を翻訳したものです。

2022年7月14日


今日、GraalVM Enterpriseは、Oracle Cloud Infrastructure(OCI)DevOpsビルド・パイプラインで直接使用して、高パフォーマンスのJavaアプリケーションを追加コストなしで構築できることを発表します。

GraalVMは、Javaワークロードを高速化する、高パフォーマンスのJDKディストリビューションです。GraalVM Native Imageの事前コンパイルにより、Javaアプリケーションを、小規模なネイティブ実行可能ファイルに構築し、高速に起動し、メモリーとCPUを少なくします。ビルド時に、GraalVM Native Imageは、Javaアプリケーションとその依存関係を分析して、必要なクラス、メソッドおよびフィールドのみを識別し、それらの要素に対してのみ最適化されたマシン・コードを生成します。Spring Boot、Micronaut、Quarkus、Helidonなどの主要なJavaマイクロサービス・フレームワークはGraalVM Native Imageを使用します。

OCI DevOpsサービスは、開発者がOracle Cloudでのソフトウェア・アプリケーションのビルド、テストおよびデプロイメントを自動化するための継続的な統合およびデプロイメント(CI/CD)プラットフォームを提供します。OCI DevOpsのビルドおよびデプロイメント・パイプラインにより、変更によるエラーが削減され、ソフトウェアの作成とデプロイに費やす時間が短縮されます。このサービスには、コードを格納するためのプライベートGitリポジトリも含まれ、外部コード・リポジトリへの接続を提供します。

DevOpsビルド・パイプラインでのGraalVM Enterpriseの使用

ビルド仕様ファイルに単純なYUMパッケージ・マネージャ・コマンドを追加することで、ネイティブ・イメージやJava Development Kit(JDK)などのGraalVM Enterpriseコンポーネントをインストールして使用できます。

  1. 1つ以上の必要なGraalVM Enterpriseコンポーネントをインストールするコマンドを追加します。たとえば、次のコマンドは、JDKおよびその他の必要な依存性とともにネイティブ・イメージをインストールします。

steps: 

  - type: Command 

    name: "Install the latest GraalVM Enterprise 22.x for Java 17 - JDK and Native Image" 

    command: | 

      yum -y install graalvm22-ee-17-native-image 

  1. Set the JAVA_HOME environment variable. 

env: 

  variables: 

    "JAVA_HOME" : "/usr/lib64/graalvm/graalvm22-ee-java17" 

  1. Set the PATH environment variable. 

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 the PATH here" 

    command: | 

      export PATH=$JAVA_HOME/bin:$PATH 

  1. Build a native executable from your Java application. 

steps: 

  - type: Command 

    name: "Build a native executable with GraalVM Enterprise 22.x for Java 17 - Native Image" 

    command: | 

      mvn --no-transfer-progress -Pnative -DskipTests package 

 

GraalVM EnterpriseとOCI DevOpsを使用すれば、Oracle Cloudで高パフォーマンスのネイティブJavaアプリケーションを追加コストなしで簡単に構築できるようになりました。詳細について以下のリソースを参照してください。

  1. ドキュメント: DevOpsビルド・パイプラインでのGraalVM Enterpriseの使用

  1. サンプル: Build a native executable for a Java app with GraalVM Enterprise in DevOps Build Pipelines 

  1. サンプル: Build a native executable for a Micronaut app with GraalVM Enterprise in DevOps Build Pipelines