Oracle GraalVM in OCI DevOps Build Pipelines
This guide describes how to use Oracle GraalVM in the Oracle Cloud Infrastructure (OCI) DevOps service. OCI DevOps is a continuous integration/continuous delivery (CI/CD) service that enables developers to automate the delivery and deployment of software to OCI compute platforms.
Note: Oracle GraalVM license and support are included in the Oracle Cloud Infrastructure subscription at no additional cost.
OCI DevOps service provides build runners with Oracle Linux 7 as the base container image along with a number of runtimes and tools.
Oracle GraalVM RPMs are available in the Oracle YUM repository. Each RPM is self-contained and will automatically pull in all its required dependencies. You can install and use Oracle GraalVM in DevOps Build Pipelines using the YUM package manager.
Prerequisites
To work with a Build Pipeline, add statements to a build specification file, build-spec.yml. The DevOps CI/CD platform reads the file and runs the commands one by one. You do not need to run a YUM package manager command manually.
RPMs for Oracle GraalVM are available with the package names graalvm-17-native-image
, graalvm-20-native-image
, and graalvm-21-native-image
.
Each package includes the JDK and Native Image.
To install and use Oracle GraalVM in your DevOps Build Pipeline, update your build specification file as shown in the following example.
-
Add the command to install Oracle GraalVM for JDK 21 with Native Image and Java Development Kit (JDK):
steps: - type: Command name: "Install Oracle GraalVM for JDK 21" command: | yum -y install graalvm-21-native-image
-
Add the command to set the
JAVA_HOME
environment variable for Oracle GraalVM for JDK 21:env: variables: "JAVA_HOME" : "/usr/lib64/graalvm/graalvm-java21"
-
Add the command to 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 PATH Variable" command: | export PATH=$JAVA_HOME/bin:$PATH
Here is an example of a complete build specification file.
Oracle GraalVM provides more features, each of which can be installed as an add-on.
Use the yum list
command to get a list of the available RPMs for your installation.
For instance, for Oracle GraalVM for JDK 21, run:
yum list graalvm-21*
...
To try this feature out, use the sample project: Using Oracle GraalVM in OCI DevOps Build Pipelines. It describes how to set up Oracle GraalVM in OCI DevOps service, create a Build Pipeline, add build stages, and so on.