2.4. 빌드 출력 관리

빌드 출력 관리에 대한 개요 및 지침은 다음 섹션에서 확인하십시오.

2.4.1. 빌드 출력

Docker 또는 S2I(source-to-image) 전략을 사용하는 빌드에서는 새 컨테이너 이미지를 생성합니다. 그런 다음 이미지를 Build 사양의 output 섹션에 지정된 컨테이너 이미지 레지스트리로 푸시됩니다.

출력 종류가 ImageStreamTag인 경우 이미지를 통합된 OpenShift Container Platform 레지스트리로 푸시되고 지정된 이미지 스트림에 태그를 지정합니다. 출력 유형이 DockerImage인 경우에는 출력 참조 이름이 Docker 내보내기 사양으로 사용됩니다. 사양은 레지스트리를 포함할 수 있으며 레지스트리가 지정되지 않은 경우 기본적으로 DockerHub로 설정됩니다. 빌드 사양의 출력 섹션이 비어 있으면 빌드 종료 시 이미지를 푸시하지 않습니다.

ImageStreamTag로 출력

spec:
  output:
    to:
      kind: "ImageStreamTag"
      name: "sample-image:latest"

Docker 내보내기 사양으로 출력

spec:
  output:
    to:
      kind: "DockerImage"
      name: "my-registry.mycompany.com:5000/myimages/myimage:tag"

2.4.2. 이미지 환경 변수 출력

Docker 및 S2I(Source-to-Image) 전략 빌드에서는 출력 이미지에 다음 환경 변수를 설정합니다.

변수설명

OPENSHIFT_BUILD_NAME

빌드 이름

OPENSHIFT_BUILD_NAMESPACE

빌드의 네임스페이스

OPENSHIFT_BUILD_SOURCE

빌드의 소스 URL

OPENSHIFT_BUILD_REFERENCE

빌드에 사용된 Git 참조

OPENSHIFT_BUILD_COMMIT

빌드에 사용된 소스 커밋

또한 모든 사용자 정의 환경 변수(예: S2I 또는 Docker 전략 옵션으로 구성된 환경 변수)도 출력 이미지 환경 변수 목록의 일부입니다.

2.4.3. 출력 이미지 라벨

Docker 및 S2I(Source-to-Image)의 빌드에서는 출력 이미지에 다음 라벨을 설정합니다.

레이블설명

io.openshift.build.commit.author

빌드에 사용된 소스 커밋 작성자

io.openshift.build.commit.date

빌드에 사용된 소스 커밋의 날짜

io.openshift.build.commit.id

빌드에 사용된 소스 커밋의 해시

io.openshift.build.commit.message

빌드에 사용된 소스 커밋의 메시지

io.openshift.build.commit.ref

소스에 지정된 분기 또는 참조

io.openshift.build.source-location

빌드의 소스 URL

BuildConfig.spec.output.imageLabels 필드를 사용하여 빌드 구성에서 빌드하는 각 이미지에 적용할 사용자 정의 라벨 목록을 지정할 수도 있습니다.

빌드한 이미지에 적용할 사용자 정의 라벨

spec:
  output:
    to:
      kind: "ImageStreamTag"
      name: "my-image:latest"
    imageLabels:
    - name: "vendor"
      value: "MyCompany"
    - name: "authoritative-source-url"
      value: "registry.mycompany.com"