Chapter 1. OpenShift build strategies and Quarkus
Red Hat OpenShift Container Platform is a Kubernetes-based platform for developing and running containerized applications. For security and convenience OpenShift supports different build strategies that are not available in the upstream Kubernetes distributions.
Overview of OpenShift build strategies
- Docker build
- This strategy builds the artifacts (JAR files or a native executable) outside the OpenShift cluster, either locally or in a CI environment, and then provides them to the OpenShift build system together with a Dockerfile. The container is built inside the OpenShift cluster and provided as an image stream.
Since Red Hat build of Quarkus 1.11, the OpenShift Docker build strategy is the preferred build strategy that supports Quarkus applications targeted for JVM as well as Quarkus applications compiled to native executables. However, the S2I remains the default deployment strategy for backwards compatibility reasons. You can configure the deployment strategy using the quarkus.openshift.build-strategy
property.
- Source to Image (S2I)
- The build process is performed inside the OpenShift cluster. Using S2I to deploy Quarkus as a JVM application is fully supported.
- Binary S2I
- This strategy uses a JAR file as an input to the S2I build process. This speeds up the build process and deployment of your application.
Table 1.1. Quarkus support OpenShift build strategies
Build strategy | Support for Quarkus tooling | Support for JVM | Support for Native | Support for JVM Serverless | Support for native Serverless |
---|---|---|---|---|---|
Docker build | YES | YES | YES | YES | YES |
S2I Binary | YES | YES | NO | NO | NO |
Source S2I | NO | YES | NO | NO | NO |