3.4. 使用内部 Maven 存储库

在受限环境中,您需要使用不同的 Maven 存储库。您可以使用名为 MAVEN_MIRROR_URL 的模板参数来指定它。您可以使用此 MAVEN_MIRROR_URL 参数从命令行创建新应用程序。

3.4.1. 使用 MAVEN_MIRROR_URL 运行 Spring Boot 应用程序

本例解释了如何使用 MAVEN_MIRROR_URL 部署和运行 Spring Boot 应用程序。

步骤

  1. 下载 Spring Boot Camel XML 快速入门。

    oc create -f ./spring-boot-2-camel-xml-template.json -n openshift
  2. 输入以下命令,使用 MAVEN_MIRROR_URL 参数创建运行 Spring Boot quickstart 模板所需的资源。

    在受限环境中,您还需要为本地存储库指定 GIT_REPOGIT_REF 参数。

    oc new-app s2i-fuse711-spring-boot-2-camel-xml -n {namespace} -p IMAGE_STREAM_NAMESPACE={namespace} -p MAVEN_MIRROR_URL={Maven mirror URL} -p GIT_REPO={Git Repo URL} -p GIT_REF={Git branch/tag name}

    这将为 Quickstart 创建部署配置和构建配置。有关 Quickstart 和创建的资源的默认参数的信息显示在终端上。

3.4.2. 使用 OpenShift Maven 插件运行 Spring Boot 应用程序

本例解释了如何使用内部 Maven 存储库部署并运行带有 OpenShift Maven 插件的 Spring Boot 应用程序。

步骤

  1. 要使用 OpenShift Maven 插件运行 Quickstart,请从本地存储库下载 Spring Boot 2 camel archetype,然后部署 Quickstart。将 {Maven Mirror URL} 替换为 Maven 镜像存储库 URL。

    mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \
      -DarchetypeCatalog={Maven Mirror URL}/archetypes/archetypes-catalog/2.2.0.fuse-sb2-7_11_1-00018-redhat-00002/archetypes-catalog-2.2.0.fuse-sb2-7_11_1-00018-redhat-00002-archetype-catalog.xml \
      -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \
      -DarchetypeArtifactId=spring-boot-camel-xml-archetype
      -DarchetypeVersion=2.2.0.fuse-sb2-7_11_1-00018-redhat-00002
  2. archetype 插件切换到交互模式,以提示您输入剩余的字段。

    Define value for property 'groupId': : org.example.fis
    Define value for property 'artifactId': : fuse711-spring-boot2
    Define value for property 'version':  1.0-SNAPSHOT: :
    Define value for property 'package':  org.example.fis: :
    Confirm properties configuration:
    groupId: org.example.fis
    artifactId: fuse711-spring-boot
    version: 1.0-SNAPSHOT
    package: org.example.fis
     Y: : Y
  3. 如果上述命令以 BUILD SUCCESS 状态退出,则现在您应该在 fuse711-spring-boot2 子目录下在 OpenShift 项目中有一个新的 Fuse。
  4. 现在,您可以构建和部署 fuse711-spring-boot2 项目。假设您仍然登录到 OpenShift,请更改到 fuse711-spring-boot2 项目的 目录,然后构建和部署项目,如下所示:

    cd fuse711-spring-boot2
    mvn oc:deploy -Popenshift