2.2.7. 소스에서 빌드 및 배포
Java S2I 빌더 이미지는 소스 리포지토리에 대해 oc new-app
을 실행하여 소스에서 애플리케이션을 빌드하는 데 사용할 수 있습니다.
$ 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'