검색

8.3. 빌드 입력

download PDF

8.3.1. 빌드 입력 작업 방법

빌드 입력 은 빌드가 작동하도록 소스 콘텐츠를 제공합니다. OpenShift Container Platform에서 소스를 제공하는 방법은 여러 가지가 있습니다. 우선순위 순서대로 다음을 수행합니다.

다양한 입력을 단일 빌드로 결합할 수 있습니다. 인라인 Dockerfile이 우선하므로 다른 입력에서 제공하는 Dockerfile 이라는 다른 파일을 덮어쓸 수 있습니다. 바이너리(local) 입력과 Git 리포지토리는 서로 함께 사용할 수 없는 입력입니다.

입력 보안은 빌드 중 사용한 특정 리소스 또는 인증 정보를 빌드에서 생성한 최종 애플리케이션 이미지에서 사용할 수 있도록 하거나 Secret 리소스에 정의된 값을 사용하려는 경우에 유용합니다. 외부 아티팩트를 사용하면 기타 빌드 입력 유형 중 하나로 사용할 수 없는 추가 파일을 가져올 수 있습니다.

빌드가 실행될 때마다 다음을 수행합니다.

  1. 작업 디렉터리가 구성되고 모든 입력 콘텐츠가 작업 디렉터리에 배치됩니다. 예를 들어 입력 Git 리포지토리가 작업 디렉터리에 복제되고 입력 이미지에서 지정된 파일이 타겟 경로를 사용하여 작업 디렉터리에 복사됩니다.
  2. 빌드 프로세스에서는 contextDir이 정의된 경우 디렉터리를 해당 디렉터리로 변경합니다.
  3. 인라인 Dockerfile(있는 경우)은 현재 디렉터리에 기록됩니다.
  4. 현재 디렉터리의 콘텐츠는 Dockerfile, 사용자 정의 빌더 논리 또는 assemble 스크립트에서 참조할 수 있도록 빌드 프로세스에 제공됩니다. 즉 contextDir 외부에 있는 모든 입력 콘텐츠는 빌드에서 무시합니다.

다음 소스 정의 예제에는 다양한 입력 유형 및 이러한 유형이 결합되는 방법에 대한 설명이 포함되어 있습니다. 각 입력 유형이 정의되는 방법에 대한 자세한 내용은 각 입력 유형별 섹션을 참조하십시오.

source:
  git:
    uri: https://github.com/openshift/ruby-hello-world.git 1
  images:
  - from:
      kind: ImageStreamTag
      name: myinputimage:latest
      namespace: mynamespace
    paths:
    - destinationDir: app/dir/injected/dir 2
      sourcePath: /usr/lib/somefile.jar
  contextDir: "app/dir" 3
  dockerfile: "FROM centos:7\nRUN yum install -y httpd" 4
1
빌드를 위한 작업 디렉터리에 복제할 리포지토리입니다.
2
myinputimage/usr/lib/somefile.jar<workingdir>/app/dir/injected/dir 에 저장됩니다.
3
빌드의 작업 디렉터리는 <original_workingdir>/app/dir 이 됩니다.
4
이 콘텐츠가 포함된 Dockerfile은 <original_workingdir>/app/dir 에 생성되어 해당 이름으로 기존 파일을 덮어씁니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.