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. 빌드 입력
8.3.1. 빌드 입력 작업 방법
빌드 입력 에서는 빌드가 작동하도록 소스 콘텐츠를 제공합니다. OpenShift Container Platform에서 소스를 제공하는 방법에는 여러 가지가 있습니다. 우선순위 순서에 따라:
다양한 입력을 단일 빌드로 결합할 수 있습니다. 인라인 Dockerfile이 우선하므로 다른 입력에서 제공하는 Dockerfile 이라는 기타 파일을 덮어쓸 수 있습니다. 바이너리(local) 입력과 Git 리포지토리는 서로 함께 사용할 수 없는 입력입니다.
입력 보안은 빌드 중 사용한 특정 리소스 또는 인증 정보를 빌드에서 생성한 최종 애플리케이션 이미지에서 사용할 수 없도록 하거나 Secret
리소스에 정의된 값을 사용하려는 경우에 유용합니다. 외부 아티팩트를 사용하면 기타 빌드 입력 유형 중 하나로 사용할 수 없는 추가 파일을 가져올 수 있습니다.
빌드가 실행될 때마다 다음을 수행합니다.
- 작업 디렉터리가 구성되고 모든 입력 콘텐츠가 작업 디렉터리에 배치됩니다. 예를 들어 입력 Git 리포지토리가 작업 디렉터리에 복제되고 입력 이미지에서 지정된 파일이 타겟 경로를 사용하여 작업 디렉터리에 복사됩니다.
-
빌드 프로세스에서는
contextDir
이 정의된 경우 디렉터리를 해당 디렉터리로 변경합니다. - 인라인 Dockerfile(있는 경우)은 현재 디렉터리에 기록됩니다.
-
현재 디렉터리의 콘텐츠는 Dockerfile, 사용자 정의 빌더 논리 또는 assemble 스크립트에서 참조하기 위해 빌드 프로세스에 제공됩니다. 즉
contextDir
외부에 있는 모든 입력 콘텐츠는 빌드에서 무시합니다.
다음 소스 정의 예제에는 다양한 입력 유형 및 이러한 유형이 결합되는 방법에 대한 설명이 포함되어 있습니다. 각 입력 유형이 정의되는 방법에 대한 자세한 내용은 각 입력 유형별 섹션을 참조하십시오.
source: git: uri: https://github.com/openshift/ruby-hello-world.git images: - from: kind: ImageStreamTag name: myinputimage:latest namespace: mynamespace paths: - destinationDir: app/dir/injected/dir sourcePath: /usr/lib/somefile.jar contextDir: "app/dir" dockerfile: "FROM centos:7\nRUN yum install -y httpd"
source:
git:
uri: https://github.com/openshift/ruby-hello-world.git
images:
- from:
kind: ImageStreamTag
name: myinputimage:latest
namespace: mynamespace
paths:
- destinationDir: app/dir/injected/dir
sourcePath: /usr/lib/somefile.jar
contextDir: "app/dir"
dockerfile: "FROM centos:7\nRUN yum install -y httpd"