이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 2. Deploying Red Hat build of Quarkus applications to OpenShift Container Platform in a single step


As an application developer, you build and deploy your Quarkus applications to OpenShift Container Platform in a single step. Complete one of the following commands:

  • Using the Quarkus CLI:

    quarkus build
    quarkus deploy openshift
    Copy to Clipboard Toggle word wrap
  • Using Maven:

    ./mvnw install -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap
  • Using Gradle:

    ./gradlew build -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap

With these commands, you build your application locally, trigger a container image build, and apply the generated OpenShift Container Platform resources automatically.

The generated resources use a Kubernetes Deployment, but still make use of OpenShift-specific resources, such as Route, BuildConfig, and so on.

2.1. Prerequisites

  • You have OpenJDK 17 or later installed.
  • You have set the JAVA_HOME environment variable to the location of the Java SDK.
  • You have access to an OpenShift Container Platform cluster and the latest compatible version of the oc CLI tool installed.
  • You are working in the correct OpenShift project namespace.
Note

To run this deployment, it is not necessary to have the quarkus-openshift extension included in your Quarkus project.

2.2. Procedure

  1. Trigger a build and deployment in a single step:
  • Using the Quarkus CLI:

    quarkus build
    quarkus deploy openshift
    Copy to Clipboard Toggle word wrap
  • Using Maven:

    ./mvnw install -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap
  • Using Gradle:

    ./gradlew build -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap
Tip

If you want to test your application immediately, set the quarkus.openshift.route.expose configuration property to true to expose the service automatically.

For example, add -Dquarkus.openshift.route.expose=true to the above command. For more information, see Exposing routes.

Note

As of OpenShift Container Platform 4.14, the DeploymentConfig object is deprecated. Deployment is now the default and preferred deployment kind for the quarkus-openshift extension.

Because of this change, consider the following:

  • If you redeploy applications that you previously deployed by using DeploymentConfig, by default, those applications use Deployment but do not remove the previous DeploymentConfig. This leads to a deployment of both new and old applications, so, you must remove the old DeploymentConfig manually. If you want to continue to use DeploymentConfig, it is still possible to do so by explicitly setting quarkus.openshift.deployment-kind to DeploymentConfig.
  • Deployment is a Kubernetes resource and not OpenShift specific, so it cannot leverage ImageStream resources, as is the case with DeploymentConfig. Therefore, the image references must include the container image registry that hosts the image.

For more information about the deprecation, how to set up and use automatic rollbacks, triggers, lifecycle hooks, and custom strategies, see the Red Hat Knowledgebase article DeploymentConfig API is being deprecated in Red Hat OpenShift Container Platform 4.14.

2.3. Verification

  1. Verify that an image stream and a service resource are created and the application is deployed by using the OpenShift Container Platform web console.

    quarkus.container-image.group=<project/namespace name>
    Copy to Clipboard Toggle word wrap

    Alternatively, run the following OpenShift Container Platform command-line interface (CLI) commands:

    oc get is 
    1
    
    oc get pods 
    2
    
    oc get svc 
    3
    Copy to Clipboard Toggle word wrap
    1
    List the image streams created.
    2
    List the pods associated with your current OpenShift project.
    3
    List the Kubernetes services.
  2. To get the log output for your application’s pod, enter the following command:

    oc logs -f <pod_name>
    Copy to Clipboard Toggle word wrap

    By default, the service is not exposed to the outside world. Therefore, if you did not expose the created service automatically by setting the quarkus.openshift.route.expose=true property before building the application, you can expose the service manually.

    oc expose svc/openshift-quickstart 
    1
    
    oc get routes 
    2
    
    curl http://<route>/hello 
    3
    Copy to Clipboard Toggle word wrap
    1
    Expose the service.
    2
    Get the list of exposed routes.
    3
    Access your application.

2.4. References

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat