부록 A. S2I 스크립트 및 Maven
OpenShift용 Red Hat JBoss Web Server 이미지에는 S2I 스크립트 및 Maven이 포함되어 있습니다.
A.1. Maven 아티팩트 저장소 미러 및 OpenShift용 JWS 링크 복사링크가 클립보드에 복사되었습니다!
Maven 리포지토리에는 프로젝트 Java 아카이브(JAR) 파일, 라이브러리 JAR 파일, 플러그인 또는 기타 프로젝트별 아티팩트와 같은 빌드 아티팩트 및 종속성이 있습니다. Maven 리포지토리는 S2I(Source-to-Image) 빌드를 수행하는 동안 아티팩트를 다운로드할 수 있는 위치도 정의합니다. Maven Central Repository 를 사용하는 것 외에도 일부 조직에서는 로컬 사용자 지정 리포지토리(미러)도 배포합니다.
로컬 미러는 다음과 같은 이점을 제공합니다.
- 지리적으로 더 빠르고 더 빠른 동기화 미러의 가용성
- 리포지토리 콘텐츠 제어 강화
- 공용 서버 및 리포지토리에 의존하지 않고도 다양한 팀(개발자 및 연속 통합(CI))에서 아티팩트를 공유할 수 있습니다.
- 빌드 시간 개선
Maven 리포지토리 관리자는 미러에 대한 로컬 캐시 역할을 할 수 있습니다. 리포지토리 관리자가 이미 배포되어 있으며 지정된 URL 위치에 외부로 연결할 수 있는 경우 S2I 빌드에서 이 리포지토리를 사용할 수 있습니다. 애플리케이션의 빌드 구성에 MAVEN_MIRROR_URL 환경 변수를 추가하여 내부 Maven 리포지토리를 사용할 수 있습니다.
A.1.1. 새 빌드 구성에 내부 Maven 리포지토리 사용 링크 복사링크가 클립보드에 복사되었습니다!
oc new-app 명령 또는 oc new-build 명령으로 --build-env 옵션을 지정하여 애플리케이션의 새 빌드 구성에 MAVEN_MIRROR_URL 환경 변수를 추가할 수 있습니다.
절차
다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고앞의 명령은 리포지토리 관리자가 이미 배포되어 있다고 가정하고
http://10.0.0.1:8080/repository/internal/에서 연결할 수 있습니다.
A.1.2. 기존 빌드 구성에 내부 Maven 리포지토리 사용 링크 복사링크가 클립보드에 복사되었습니다!
oc env 명령으로 빌드 구성 이름을 지정하여 MAVEN_MIRROR_URL 환경 변수를 애플리케이션의 기존 빌드 구성에 추가할 수 있습니다.
절차
MAVEN_MIRROR_URL변수가 필요한 빌드 구성을 확인합니다.oc get bc -o name
$ oc get bc -o nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위 명령은 다음 유형의 출력을 생성합니다.
buildconfig/jws
buildconfig/jwsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고위 예제에서 jws는 빌드 구성의 이름입니다.
MAVEN_MIRROR_URL환경 변수를buildconfig/jws에 추가합니다.oc env bc/jws MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/"
$ oc env bc/jws MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/" buildconfig "jws" updatedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 빌드 구성이 업데이트되었는지 확인합니다.
oc env bc/jws --list buildconfigs jws
$ oc env bc/jws --list # buildconfigs jws MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc start-build를 사용하여 애플리케이션의 새 빌드 예약
애플리케이션 빌드 프로세스 중에 Maven 종속성은 기본 공용 리포지토리가 아닌 리포지토리 관리자에서 다운로드됩니다. 빌드 프로세스가 완료되면 미러에는 빌드 프로세스 중에 검색 및 사용되는 모든 종속 항목이 포함됩니다.