15.2. 在 OpenShift 上安装并启动员工漫长的初学者应用程序

使用 runOnOpenShift.sh 脚本将 Employee Rostering 初学者应用程序部署到 Red Hat OpenShift Container Platform。runOnOpenShift.sh shell 脚本位于 Red Hat Decision Manager 7.12.0 Kogito 和 OptaPlanner 8 Decision Services Quickstarts 发行版本中。

runOnOpenShift.sh 脚本在本地构建并打包应用源代码,并将它上传到 OpenShift 环境以进行部署。此方法需要 Java Development Kit、Apache Maven 和 bash shell 命令行。

15.2.1. 使用提供的脚本部署应用程序

您可以使用提供的脚本将 Employee Rostering Starter 应用程序部署到 Red Hat OpenShift Container Platform。该脚本在本地构建并打包应用源代码,并将它上传到 OpenShift 环境以进行部署。

先决条件

  • 使用 oc 命令行工具登录到目标 OpenShift 环境。有关此工具的更多信息,请参阅 OpenShift Container Platform CLI 参考
  • OpenJDK 11 或更高版本已安装。红帽构建的 Open JDK 可从红帽客户门户中的 Software Downloads 页面获得(需要登录)。
  • 已安装 Apache Maven 3.6 或更高版本。Maven 可从 Apache Maven Project 网站获取。
  • 您的本地系统中提供了 bash shell 环境。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 :决策管理器
    • Version: 7.12.0
  2. 下载 Red Hat Decision Manager 7.12 Maven Repository Kogito 和 OptaPlanner 8 Maven Repository (rhdm-7.12.0-kogito-maven-repository.zip)文件。
  3. 提取 rhdm-7.12.0-kogito-maven-repository.zip 文件。
  4. rhdm-7.12.0-kogito-maven-repository/maven-repository 子目录的内容复制到 ~/.m2/repository 目录中。
  5. 从红帽客户门户的 软件下载 页面下载 rhdm-7.12.0-kogito-and-optaplanner-quickstarts.zip 文件。
  6. 提取下载的存档。
  7. 导航到 optaweb-employee-rostering 文件夹。
  8. 要构建 Employee Rostering 应用程序,请运行以下命令:

    mvn clean install -DskipTests -DskipITs
  9. 登录到 OpenShift 帐户或 Red Hat Code Ready Container 实例。在以下示例中,< account-url& gt; 是 OpenShift 帐户或 Red Hat Code Ready Container 实例的 URL,&lt ;login-token > 是该帐户的登录令牌:

    oc login <account-url> --token <login-token>
  10. 创建一个新项目来托管 Employee Rostering:

    oc new-project optaweb-employee-rostering
  11. 运行 provision 脚本以构建和部署应用程序:

    ./runOnOpenShift.sh

    编译和打包可能需要长达 10 分钟才能完成。这些进程在命令行输出中持续显示进度。

    当操作完成后,会显示以下信息,其中 < URL& gt; 是部署的 URL:

    You can access the application at <URL> once the deployment is done.
  12. 输入您之前在流程中使用的 URL,对于 OpenShift 帐户或 Red Hat Code Ready Container 实例,以访问部署的应用程序。第一次启动最多可能需要一分钟,因为 OpenShift 平台上完成额外的构建。

    注意

    如果在点击链接后应用程序没有打开一分钟,请对浏览器页面执行硬刷新。