使用 Liberty for Java 的脚本在 IBM Cloud 上设置 MobileFirst Server

improve this page | report issue


概述

遵循以下指示信息,在 IBM Cloud 的 Liberty for Java 运行时上配置 MobileFirst Server 实例。 为此您需要完成以下步骤:

  • 使用所需工具 (Cloud Foundry CLI) 设置主计算机
  • 设置 IBM Cloud 帐户
  • 构建 MobileFirst Server,并将其推送到 IBM Cloud 作为 Cloud Foundry 应用程序。

最后,注册移动应用程序并部署适配器。

注:

  • 当前不支持在 Windows 操作系统上运行这些脚本。
  • MobileFirst Server 配置工具不能用于部署到 IBM Cloud。

跳转至:

在 IBM Cloud 上注册帐户

如果还没有帐户,请访问 IBM Cloud Web 站点,然后单击免费开始使用注册。 您需要填写注册表单,然后才能进入下一步。

IBM Cloud 仪表板

在登录 IBM Cloud 后,会显示 IBM Cloud 仪表板,其中提供了活动的 IBM Cloud 空间的概述。 缺省情况下,此工作区命名为“dev”。 如果需要,您可以创建多个工作区/空间。

设置主机

要管理 IBM Cloud Cloud Foundry 应用程序,需要安装 Cloud Foundry CLI。
您可以使用 macOS Terminal.app 或 Linux bash shell 来运行脚本。

安装 Cloud Foundry CLI

下载 ibm-mfpf-container-8.0.0.0 归档

要在 Liberty on Java 上设置 Mobile Foundation,必须首先创建一个文件布局,此文件布局稍后将推送至 IBM Cloud。
遵循本页面上的指示信息下载 IBM Containers 归档的 MobileFirst Server 8.0(.zip 文件,搜索:CNBL0EN)。

此归档文件包含用于构建文件布局的文件(dependenciesmfpf-libs),用于构建和部署 MobileFirst Analytics Container 的文件 (mfpf-analytics) 以及用于配置 MobileFirst Server Cloud Foundry 应用程序的文件 (mfpf-server-libertyapp)。

显示归档文件的文件系统结构的图像

dependencies 文件夹

包含 Mobile Foundation 运行时和 IBM Java JRE 8。

mfpf-libs 文件夹

包含 MobileFirst 产品组件库和 CLI。

mfpf-server-libertyapp 文件夹

  • scripts 文件夹:此文件夹包含 args 文件夹,其中包含一组配置文件。 它还包含运行的脚本,用于登录 IBM Cloud,构建 Mobile Foundation 应用程序以推送至 IBM Cloud,以及在 IBM Cloud 上运行服务器。 您可以选择以交互方式运行这些脚本,或者通过对配置文件进行预配置的方式来运行脚本(如后文所述)。 除可定制的 args/*.properties 文件外,请勿修改该文件夹中的任何元素。 要获取脚本用法帮助,请使用 -h--help 命令行参数(例如,scriptname.sh --help)。
  • usr 文件夹:
    • config 文件夹:包含 MobileFirst Server 所使用的服务器配置片段(密钥库、服务器属性、用户注册表)。
    • keystore.xml - 用于 SSL 加密的安全证书存储库的配置。 必须在 ./usr/security 文件夹中引用列出的文件。
    • mfpfproperties.xml - MobileFirst Server 的配置属性。 请参阅以下文档主题中列出的受支持属性:
    • registry.xml - 用户注册表配置。 basicRegistry - 将基于 XML 的基本用户注册表配置作为缺省值提供。 可以为 basicRegistry 配置用户名和密码,或者也可以配置 ldapRegistry。
  • env 文件夹:包含用于服务器初始化 (server.env) 和定制 JVM 选项 (jvm.options) 的环境属性。
  • security 文件夹:用于存储密钥存储库、信任库和 LTPA 密钥文件 (ltpa.keys)。

设置 MobileFirst Server 和 MobileFirst Application Center

您可以选择以交互方式运行这些脚本,或者通过使用配置文件来运行脚本:最好以交互方式运行一次脚本,这也将记录自变量 (recorded-args)。 稍后,您可以使用自变量文件以非交互方式运行脚本。

注:不记录密码,您将需要在自变量文件中手动添加密码。

  • 使用配置文件 - 运行脚本并传递相应的配置文件作为自变量。
  • 以交互方式 - 运行脚本,不使用任何自变量。

如果选择以交互方式运行脚本,可以跳过配置,但是强烈建议至少查看并了解一下您将需要提供的自变量。

MobileFirst Application Center

注:可以从本地MobileFirst Application Center 安装文件夹(installertools 文件夹)下载安装程序和 DB 工具。

args 文件夹包含一组配置文件,其中包含运行脚本所需的自变量。 您可以在 args 文件夹中找到空的模板文件和自变量说明,或者之后可在 recorded-args 文件夹中以交互方式运行脚本。 文件如下:

initenv.properties

此文件包含用于运行环境初始化的属性。

prepareappcenterdbs.properties

MobileFirst Application Center 需要外部 dashDB Enterprise Transactional 数据库实例(标记为 OLTP 或 Transactional 的所有套餐)。
注:dashDB Enterprise Transactional 套餐的部署针对标记为“按使用量收费”的套餐立即生效。 请确保选择合适的套餐之一,如 Enterprise for Transactions High Availability 2.8.500 (Pay per use)

在设置 dashDB 实例后,请提供所需自变量。

prepareappcenter.properties

此文件用于 prepareappcenter.sh 脚本。 这可为 Application Center 文件布局做好准备,并将其推送至 IBM Cloud 作为 Cloud Foundry 应用程序。

startappcenter.properties

此文件用于配置服务器的运行时属性并启动服务器。 强烈建议您使用至少1024 MB (SERVER_MEM=1024) 和 3 个节点用于实现高可用性 (INSTANCES=3)

以下指示信息演示了如何使用配置文件来运行脚本。 如果选择不使用交互方式来运行,那么还提供了命令行自变量的列表:

  1. initenv.sh - 登录 IBM Cloud
    运行 initenv.sh 脚本以登录 IBM Cloud。 针对 dashDB 服务绑定的组织和空间运行以下脚本:
    ./initenv.sh args/initenv.properties
    您还可以在命令行上传递参数
    initenv.sh --user IBM_Cloud_user_ID --password IBM_Cloud_password --org IBM_Cloud_organization_name --space IBM_Cloud_space_name
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./initenv.sh --help
  2. prepareappcenterdbs.sh - 准备 MobileFirst Application Center 数据库
    prepareappcenterdbs.sh 脚本用于通过 dashDB 数据库服务或可访问的 DB2 数据库服务器配置 MobileFirst Application Center。 在本地安装 DB2 服务器的数据中心内运行 IBM Cloud 时,DB2 选项非常实用。 如果使用 dashDB 服务,在步骤 1 中登录的组织和空间内应提供 dashDB 服务的服务实例。请运行:
    ./prepareappcenterdbs.sh args/prepareappcenterdbs.properties
    您还可以在命令行上传递参数
    prepareappcenterdbs.sh --acdb MFPAppCenterDashDBService
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./prepareappcenterdbs.sh --help
  3. initenv.sh(可选)- 登录 IBM Cloud
    仅当在除提供 dashDB 服务实例的组织和空间以外的其他组织和空间内需要创建服务器时,才需要执行此步骤。 如果情况如此,请使用必须在其中创建和启动新组织和空间的容器来更新 initenv.properties,然后重新运行 initenv.sh 脚本:
    ./initenv.sh args/initenv.properties
  4. prepareappcenter.sh - 准备 MobileFirst Application Center
    运行 prepareappcenter.sh 脚本以构建 MobileFirst Application Center 并将其推送到 IBM Cloud 作为 Cloud Foundry 应用程序。 要查看已登录的组织和空间内的所有 Cloud Foundry 应用程序及其 URL,请运行:cf apps
    ./prepareappcenter.sh args/prepareappcenter.properties
    您还可以在命令行上传递参数
    prepareappcenter.sh --name APP_NAME
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./prepareappcenter.sh --help
  5. startappcenter.sh - 启动 MobileFirst Application Center
    startappcenter.sh 脚本用于在 Liberty for Java Cloud Foundry 应用程序上启动 MobileFirst Application Center。 请运行:

    ./startappcenter.sh args/startappcenter.properties
    您还可以在命令行上传递参数
    ./startappcenter.sh --name APP_NAME
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./startappcenter.sh --help

装入以下 URL 以启动 MobileFirst Application Center 控制台:http://APP_HOST.mybluemix.net/appcenterconsole(可能需要一些时间才能完成)。

通过使用 IBM Cloud 上运行的 MobileFirst Application Center,现在您可以将移动应用程序上载到 Application Center。

MobileFirst Server

args 文件夹包含一组配置文件,其中包含运行脚本所需的自变量。 您可以在 args 文件夹中找到空的模板文件和自变量说明,或者之后可在 recorded-args 文件夹中以交互方式运行脚本。 文件如下:

initenv.properties

此文件包含用于运行环境初始化的属性。

prepareserverdbs.properties

Mobile Foundation 服务需要外部 dashDB Enterprise Transactional 数据库实例(标记为 OLTP 或 Transactional 的所有套餐)。
注:dashDB Enterprise Transactional 套餐的部署针对标记为“按使用量收费”的套餐立即生效。 请确保选择合适的套餐之一,如 Enterprise for Transactions High Availability 2.8.500 (Pay per use)

在设置 dashDB 实例后,请提供所需自变量。

prepareserver.properties

此文件用于 prepareserver.sh 脚本。 这可为服务器文件布局做好准备,并将其推送至 IBM Cloud 作为 Cloud Foundry 应用程序。

startserver.properties

此文件用于配置服务器的运行时属性并启动服务器。 强烈建议您使用至少1024 MB (SERVER_MEM=1024) 和 3 个节点用于实现高可用性 (INSTANCES=3)

以下指示信息演示了如何使用配置文件来运行脚本。 如果选择不使用交互方式来运行,那么还提供了命令行自变量的列表:

  1. initenv.sh - 登录 IBM Cloud
    运行 initenv.sh 脚本以登录 IBM Cloud。 针对 dashDB 服务绑定的组织和空间运行以下脚本:
    ./initenv.sh args/initenv.properties
    您还可以在命令行上传递参数
    initenv.sh --user IBM_Cloud_user_ID --password IBM_Cloud_password --org IBM_Cloud_organization_name --space IBM_Cloud_space_name
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./initenv.sh --help
  2. prepareserverdbs.sh - 准备 MobileFirst Server 数据库
    prepareserverdbs.sh 脚本用于通过 dashDB 数据库服务或可访问的 DB2 数据库服务器配置 MobileFirst Server。 在本地安装 DB2 服务器的数据中心内运行 IBM Cloud 时,DB2 选项非常实用。 如果使用 dashDB 服务,在步骤 1 中登录的组织和空间内应提供了 dashDB 服务的服务实例。请运行:
    ./prepareserverdbs.sh args/prepareserverdbs.properties
    您还可以在命令行上传递参数
    prepareserverdbs.sh --admindb MFPDashDBService
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./prepareserverdbs.sh --help
  3. initenv.sh(可选)- 登录 IBM Cloud
    仅当在除提供 dashDB 服务实例的组织和空间以外的其他组织和空间内需要创建服务器时,才需要执行此步骤。 如果情况如此,请使用必须在其中创建和启动新组织和空间的容器来更新 initenv.properties,然后重新运行 initenv.sh 脚本:
    ./initenv.sh args/initenv.properties
  4. prepareserver.sh - 准备 MobileFirst Server
    运行 prepareserver.sh 脚本以构建 MobileFirst Server 并将其推送到 IBM Cloud 作为 Cloud Foundry 应用程序。 要查看已登录的组织和空间内的所有 Cloud Foundry 应用程序及其 URL,请运行:cf apps
    ./prepareserver.sh args/prepareserver.properties
    您还可以在命令行上传递参数
    prepareserver.sh --name APP_NAME
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./prepareserver.sh --help
  5. startserver.sh - 启动服务器
    startserver.sh 脚本用于在 Liberty for Java Cloud Foundry 应用程序上启动 MobileFirst Server。 请运行:

    ./startserver.sh args/startserver.properties
    您还可以在命令行上传递参数
    ./startserver.sh --name APP_NAME
    要了解受支持的所有参数及其文档,请运行帮助选项
    ./startserver.sh --help

装入以下 URL 以启动 MobileFirst Operations Console:http://APP_HOST.mybluemix.net/mfpconsole(可能需要一些时间才能完成)
遵循使用 MobileFirst CLI 来管理 MobileFirst 工件教程中的指示信息来添加远程服务器。

通过使用 IBM Cloud 上运行的 MobileFirst Server,现在您可以启动自己的应用程序开发。

应用更改

您可能需要在部署服务器后对服务器布局应用更改,例如:要在 /usr/config/mfpfproperties.xml 中更新分析 URL。 请完成更改,然后使用相同的自变量集重新运行以下脚本。

  1. ./prepareserver.sh
  2. ./startserver.sh

将分析服务器配置添加到 MobileFirst Server

如果已设置分析服务器并且想要将其连接到此 MobileFirst Server,那么请按以下指定的方式编辑文件夹 package_root/mfpf-server-libertyapp/usr/config 中的 mfpfproperties.xml 文件。 将以 <> 标记的令牌替换为来自部署的正确值。

<jndiEntry jndiName="${env.MFPF_RUNTIME_ROOT}/mfp.analytics.url" value='"https://<AnalyticsContainerGroupRoute>:443/analytics-service/rest"'/>
<jndiEntry jndiName="${env.MFPF_RUNTIME_ROOT}/mfp.analytics.console.url" value='"https://<AnalyticsContainerPublicRoute>:443/analytics/console"'/>
<jndiEntry jndiName="${env.MFPF_RUNTIME_ROOT}/mfp.analytics.username" value='"<AnalyticsUserName>"'/>
<jndiEntry jndiName="${env.MFPF_RUNTIME_ROOT}/mfp.analytics.password" value='"<AnalyticsPassword>"'/>


<jndiEntry jndiName="${env.MFPF_PUSH_ROOT}/mfp.push.analytics.endpoint" value='"https://<AnalyticsContainerGroupRoute>:443/analytics-service/rest"'/>
<jndiEntry jndiName="${env.MFPF_PUSH_ROOT}/mfp.push.services.ext.analytics" value="com.ibm.mfp.push.server.analytics.plugin.AnalyticsPlugin"/>
<jndiEntry jndiName="${env.MFPF_PUSH_ROOT}/mfp.push.analytics.user" value='"<AnalyticsUserName>"'/>
<jndiEntry jndiName="${env.MFPF_PUSH_ROOT}/mfp.push.analytics.password" value='"<AnalyticsPassword>"'/>

应用 MobileFirst Server 修订

IBM Cloud 上 MobileFirst Server 的临时修订可从 IBM Fix Central 获取。
应用临时修订之前,请备份现有的配置文件。 配置文件位于以下文件夹中:

  • MobileFirst Analytics:package_root/mfpf-analytics/usr
  • MobileFirst Server Liberty Cloud Foundry Application:package_root/mfpf-server-libertyapp/usr
  • Application Center:package_root/mfp-appcenter-libertyapp/usr

应用 iFix 的步骤:

  1. 下载临时修订归档并将内容解压缩到现有安装文件夹,覆盖现有文件。
  2. 将备份配置文件复原到 package_root/mfpf-analytics/usrpackage_root/mfpf-server-libertyapp/usrpackage_root/mfp-appcenter-libertyapp/usr 文件夹,覆盖新安装的配置文件。
  3. 在编辑器中编辑 package_root/mfpf-server/usr/env/jvm.options 文件并除去以下行(如果存在):
    -javaagent:/opt/ibm/wlp/usr/servers/mfp/newrelic/newrelic.jar
    

    现在,您可以构建并部署更新后的服务器。 使用相同的自变量集重新运行以下脚本。

    a. ./prepareserver.sh,将更新的工件上载到 IBM Cloud。

    b. ./startserver.sh,启动更新后的服务器

    先前部署中使用的自变量副本已保存在 recorded-args/ 目录中。 您可以将这些属性用于部署。

从 IBM Cloud 中除去数据库服务配置

如果在配置 MobileFirst Server 映像期间运行了 prepareserverdbs.sh 脚本,那么将创建 MobileFirst Server 所需的配置和数据库表。 此脚本还会针对 MobileFirst Server 创建数据库模式。

要从 IBM Cloud 中除去数据库服务配置,请使用 IBM Cloud 仪表板执行以下过程。

  1. 从 IBM Cloud 仪表板,选择使用的 dashDB 服务。 选择在运行 prepareserverdbs.sh 脚本时作为参数提供的 dashDB 服务名称。
  2. 启动 dashDB 控制台以使用选中的 dashDB 服务实例的模式和数据库对象。
  3. 选择与 IBM MobileFirst Server 配置相关的模式。 模式名称是在运行 prepareserverdbs.sh 脚本时作为参数提供的名称。
  4. 在仔细检查每个模式名称以及其下的对象后,删除模式。 这将从 IBM Cloud 中除去数据库配置。

同样,如果在配置 MobileFirst Application Center 时运行 prepareappcenterdbs.sh,请遵循上述步骤以除去 IBM Cloud 中的数据库服务配置。

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on June 01, 2020