2.2.7. 从源构建和部署
通过针对源存储库运行 oc new-app
,可以使用 Java S2I 构建器镜像从源构建应用程序:
$ oc new-app registry.redhat.io/redhat-openjdk-18/openjdk18-openshift~https://github.com/jboss-openshift/openshift-quickstarts --context-dir=undertow-servlet
默认情况下不运行测试。要构建应用程序并运行测试作为构建的一部分,请覆盖默认的 MAVEN_ARGS
,如下例所示:
$ oc new-app registry.redhat.io/redhat-openjdk-18/openjdk18-openshift~<git_repo_URL> --context-dir=<context_dir> --build-env='MAVEN_ARGS=-e -Popenshift -Dcom.redhat.xpaas.repo.redhatga package'
如果 Java 项目包含多个 Maven 模块,则显式指定工件输出目录会很有用。指定 Maven 项目输出工件的目录可让 S2I 构建提取它们。
要指定用于构建和工件输出目录的模块,请使用以下命令:
$ oc new-app registry.redhat.io/redhat-openjdk-18/openjdk18-openshift~<git_repo_URL> --context-dir=<context_dir> --build-env='MAVEN_S2I_ARTIFACT_DIRS=relative/path/to/artifacts/dir' --build-env='MAVEN_ARGS=install -pl <groupId>:<artifactId> -am'