This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.8.3.7. 외부 Artifacts 사용
바이너리 파일을 소스 리포지토리에 저장하지 않는 것이 좋습니다. 따라서 빌드 프로세스 중에 추가 파일(예: Java .jar 종속 항목)을 가져오는 빌드를 정의해야 할 수 있습니다. 이 작업을 수행하는 방법은 사용 중인 빌드 전략에 따라 다릅니다.
소스
빌드 전략의 경우 assemble 스크립트에 적절한 쉘 명령을 배치해야 합니다.
.s2i/bin/assemble 파일
#!/bin/sh APP_VERSION=1.0 wget http://repository.example.com/app/app-$APP_VERSION.jar -O app.jar
#!/bin/sh
APP_VERSION=1.0
wget http://repository.example.com/app/app-$APP_VERSION.jar -O app.jar
.s2i/bin/run 파일
#!/bin/sh exec java -jar app.jar
#!/bin/sh
exec java -jar app.jar
소스 빌드에 사용되는 assemble 및 run 스크립트를 제어하는 방법에 대한 자세한 내용은 빌더 이미지 스크립트 덮어쓰기 를 참조하십시오.
Docker
빌드 전략의 경우 Dockerfile 을 수정하고 RUN
명령을 사용하여 쉘 명령을 호출해야 합니다.
Dockerfile발췌 내용
FROM jboss/base-jdk:8 ENV APP_VERSION 1.0 RUN wget http://repository.example.com/app/app-$APP_VERSION.jar -O app.jar EXPOSE 8080 CMD [ "java", "-jar", "app.jar" ]
FROM jboss/base-jdk:8
ENV APP_VERSION 1.0
RUN wget http://repository.example.com/app/app-$APP_VERSION.jar -O app.jar
EXPOSE 8080
CMD [ "java", "-jar", "app.jar" ]
실제로 Dockerfile 또는 assemble 스크립트를 업데이트하는 대신 BuildConfig
에 정의된 환경 변수를 사용하여 다운로드할 특정 파일을 사용자 정의할 수 있도록 파일 위치에 환경 변수를 사용할 수 있습니다.
다음과 같이 환경 변수를 정의하는 다양한 방법 중에서 선택할 수 있습니다.
- .s2i/environment 파일 사용 (소스 빌드 전략 전용)
-
BuildConfig
에 설정 -
oc start-build --env
를 사용하여 명시적으로 제공 (수동으로 트리거되는 빌드 전용)