此内容没有您所选择的语言版本。

Chapter 4. Using S2I to deploy Quarkus applications on OpenShift


The traditional source-to-image (S2I) method is widely used as the preferred method for deploying applications on Red Hat OpenShift Container Platform. With S2I, you must provide the source code to the build container either through a Git repository or by uploading the source at build time. Use this method to deploy your Quarkus applications in production environments.

Prerequisites

  • You have a Quarkus Maven project hosted in a Git repository.

Procedure

  1. Change to the directory that contains your Quarkus Maven project.
  2. Create a hidden directory called .s2i at the same level as the pom.xml file.
  3. Create a file called environment in the .s2i directory and add the following content:

    ARTIFACT_COPY_ARGS=-p -r lib/ *-runner.jar
    Copy to Clipboard Toggle word wrap
  4. Commit and push your changes to the remote Git repository.
  5. Log in to the OpenShift CLI (oc):

    oc login
    Copy to Clipboard Toggle word wrap
  6. To create a new OpenShift project, enter the following command where PROJECT_NAME is the name of your new project:

    oc new-project PROJECT_NAME
    Copy to Clipboard Toggle word wrap
  7. To import the supported OpenShift image, enter the following command:

    oc import-image --confirm openjdk/openjdk-11-rhel7 --from=registry.access.redhat.com/openjdk/openjdk-11-rhel7
    Copy to Clipboard Toggle word wrap
    Note

    If you are deploying on IBM Z infrastructure, enter oc import-image --confirm openj9/openj9-11-rhel8 --from=registry.access.redhat.com/openj9/openj9-11-rhel8.

    For information about this image, see the Red Hat OpenJDK 11 Java Applications page.

  8. To build the project in OpenShift, enter the following command where GIT_PATH is the path to the Git repository that hosts your Quarkus project and PROJECT_NAME is the OpenShift project that you created.

    oc new-app openjdk-11-rhel7 GIT_PATH --name=PROJECT_NAME
    Copy to Clipboard Toggle word wrap
    Note

    If you are deploying on IBM Z infrastructure, enter oc new-app openj9/openj9-11-rhel8 GIT_PATH --name=PROJECT_NAME.

    This command builds the project, creates the application, and deploys the OpenShift service.

  9. To create an OpenShift route, enter the following command:

    oc expose service/PROJECT_NAME
    Copy to Clipboard Toggle word wrap
  10. To view the new route, enter the following command where APPLICATION_NAME is the name of an application deployed in your OpenShift project:

    export URL="http://$(oc get route APPLICATION_NAME -o jsonpath='{.spec.host}}')"
    echo "Application URL: $URL"
    Copy to Clipboard Toggle word wrap
  11. To create an HTTP request on the route’s hello endpoint, enter the following command:

    curl $URL/hello
    Copy to Clipboard Toggle word wrap
  12. To use your application, enter the URL returned in the preceding command in a web browser.
  13. To deploy an updated version of the project, push any updates to the Git repository then enter the following command:

    oc start-build PROJECT_NAME
    Copy to Clipboard Toggle word wrap
  14. Refresh your browser page after the build completes to see the changes.

Revised on 2020-12-08 20:07:33 UTC

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat