8장. 빌드


8.1. 빌드 작업 방법

8.1.1. 빌드란 무엇인가?

OpenShift Container Platform의 빌드 는 입력 매개변수를 결과 오브젝트로 변환하는 프로세스입니다. 대부분의 경우 빌드는 소스 코드를 실행 가능한 컨테이너 이미지로 변환하는 데 사용됩니다.

빌드 구성 또는 BuildConfig빌드 전략 및 하나 이상의 소스가 특징입니다. 전략은 앞서 언급한 프로세스를 결정하는 반면 소스는 입력을 제공합니다.

빌드 전략은 다음과 같습니다.

빌드 입력으로 제공할 수 있는 6가지 유형의 소스가 있습니다.

특정 유형의 소스를 고려하거나 무시하고 사용할 방법을 결정하는 것은 각 빌드 전략입니다. 바이너리와 Git은 상호 배타적인 소스 유형입니다. Dockerfile 및 이미지는 자체적으로 사용하거나 Git 또는 Binary와 함께 사용할 수 있습니다. Binary 소스 유형은 시스템에 지정된 방법에 있는 다른 옵션과 고유합니다.

8.1.2. BuildConfig란 무엇입니까?

빌드 구성은 단일 빌드 정의와 새 빌드를 생성해야 하는 시기의 트리거 세트를 설명합니다. 빌드 구성은 BuildConfig에 의해 정의되는데 BuildConfig는 새 인스턴스를 생성하기 위해 API 서버에 대한 POST에 사용할 수 있는 REST 오브젝트입니다.

OpenShift Container Platform을 사용하여 애플리케이션을 생성하기 위해 선택하는 방법에 따라 BuildConfig는 일반적으로 웹 콘솔 또는 CLI를 사용하는 경우 자동으로 생성되며 언제든지 편집할 수 있습니다. BuildConfig 를 구성하는 부분과 사용 가능한 옵션을 이해하면 나중에 구성을 수동으로 조정하는 경우 도움이 될 수 있습니다.

다음 예제 BuildConfig에서는 컨테이너 이미지 태그 또는 소스 코드가 변경될 때마다 새 빌드를 생성합니다.

BuildConfig 오브젝트 정의

kind: "BuildConfig"
apiVersion: "v1"
metadata:
  name: "ruby-sample-build" 1
spec:
  runPolicy: "Serial" 2
  triggers: 3
    -
      type: "GitHub"
      github:
        secret: "secret101"
    - type: "Generic"
      generic:
        secret: "secret101"
    -
      type: "ImageChange"
  source: 4
    git:
      uri: "https://github.com/openshift/ruby-hello-world"
  strategy: 5
    sourceStrategy:
      from:
        kind: "ImageStreamTag"
        name: "ruby-20-centos7:latest"
  output: 6
    to:
      kind: "ImageStreamTag"
      name: "origin-ruby-sample:latest"
  postCommit: 7
      script: "bundle exec rake test"

1
이 사양은 ruby-sample-build 라는 새 BuildConfig 를 생성합니다.
2
runPolicy 필드는 이 빌드 구성에서 생성한 빌드를 동시에 실행할 수 있는지 여부를 제어합니다. 기본값은 Serial 입니다. 즉, 새 빌드가 동시에 실행되지 않고 순차적으로 실행됩니다.
3
트리거 목록을 지정할 수 있으며 이로 인해 새 빌드가 생성됩니다.
4
source 섹션은 빌드의 소스를 정의합니다. 소스 유형에 따라 기본 입력 소스가 결정되는데, 소스 유형은 코드 리포지토리 위치를 가리키는 Git, 인라인 Dockerfile에서 빌드하는 Dockerfile 또는 바이너리 페이로드를 허용하는 Binary일 수 있습니다. 한 번에 여러 소스를 사용할 수 있습니다. 자세한 내용은 각 소스 유형에 대한 설명서를 참조하십시오.
5
strategy 섹션에서는 빌드를 실행하는 데 사용하는 빌드 전략에 대해 설명합니다. 여기에서 Source , Docker 또는 Custom 전략을 지정할 수 있습니다. 위의 예에서는 Source-To-Image에서 애플리케이션 빌드에 사용할 ruby-20-centos7 컨테이너 이미지를 사용합니다.
6
컨테이너 이미지가 성공적으로 빌드되면 output 섹션에 설명된 리포지토리로 푸시됩니다.
7
postCommit 섹션에서는 선택적 빌드 후크를 정의합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.