3.4. 使用内部 Maven 存储库
在受限环境中,您需要使用不同的 Maven 存储库。您可以使用名为 MAVEN_MIRROR_URL
的模板参数来指定它。您可以使用此 MAVEN_MIRROR_URL
参数从命令行创建新应用程序。
3.4.1. 使用 MAVEN_MIRROR_URL 运行 Spring Boot 应用程序
本例解释了如何使用 MAVEN_MIRROR_URL 部署和运行 Spring Boot 应用程序。
步骤
下载 Spring Boot Camel XML 快速入门。
oc create -f ./spring-boot-2-camel-xml-template.json -n openshift
输入以下命令,使用
MAVEN_MIRROR_URL
参数创建运行 Spring Boot quickstart 模板所需的资源。在受限环境中,您还需要为本地存储库指定
GIT_REPO
和GIT_REF
参数。oc new-app s2i-fuse712-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 应用程序。
步骤
要使用 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-7_12_0-00018-redhat-00001/archetypes-catalog-2.2.0.fuse-7_12_0-00018-redhat-00001-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-xml-archetype -DarchetypeVersion=2.2.0.fuse-7_12_0-00018-redhat-00001
archetype 插件切换到交互模式,以提示您输入剩余的字段。
Define value for property 'groupId': : org.example.fis Define value for property 'artifactId': : fuse712-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: fuse712-spring-boot version: 1.0-SNAPSHOT package: org.example.fis Y: : Y
-
如果上述命令以 BUILD SUCCESS 状态退出,则现在您应该在
fuse712-spring-boot2
子目录下在 OpenShift 项目中有一个新的 Fuse。 现在,您可以构建和部署
fuse712-spring-boot2
项目。假设您仍然登录到 OpenShift,请更改到fuse712-spring-boot2
项目的 目录,然后构建和部署项目,如下所示:cd fuse712-spring-boot2 mvn oc:deploy -Popenshift