빌드 정보
빌드 소개
초록
1장. 릴리스 노트 링크 복사링크가 클립보드에 복사되었습니다!
릴리스 노트에는 사용되지 않는 새로운 기능, 변경 사항 중단 및 알려진 문제에 대한 정보가 포함되어 있습니다. 다음 릴리스 노트는 OpenShift Container Platform의 최신 빌드 릴리스에 적용됩니다.
빌드는 shipwright 프로젝트를 기반으로 하는 확장 가능한 빌드 프레임워크로, OpenShift Container Platform 클러스터에서 컨테이너 이미지를 빌드하는 데 사용할 수 있습니다. S2I(Source-to-Image) 및 Buildah
와 같은 이미지 빌드 툴을 사용하여 소스 코드 및 Dockerfile에서 컨테이너 이미지를 빌드할 수 있습니다. 빌드 리소스를 생성 및 적용하고, 빌드 실행 로그를 보고, OpenShift Container Platform 네임스페이스에서 빌드를 관리할 수 있습니다.
빌드에는 다음 기능이 포함됩니다.
- 소스 코드 및 Dockerfile에서 컨테이너 이미지를 빌드하는 표준 Kubernetes 네이티브 API
-
S2I(Source-to-Image) 및
Buildah
빌드 전략 지원 - 사용자 정의 빌드 전략을 통한 확장성
- 로컬 디렉터리의 소스 코드에서 빌드 실행
- 로그를 생성 및 보기 위한 shipwright CLI, 클러스터에서 빌드 관리
- OpenShift Container Platform 웹 콘솔의 개발자 관점과 통합된 사용자 경험
빌드에 대한 자세한 내용은 빌드 개요를 참조하십시오.
1.1. 호환성 및 지원 매트릭스 링크 복사링크가 클립보드에 복사되었습니다!
표에서 구성 요소는 다음 상태로 표시됩니다.
TP | 기술 프리뷰 |
GA | 정식 출시일 (GA) |
기술 프리뷰 기능은 실험적 기능이며 프로덕션용이 아닙니다.
빌드 버전 | 구성 요소 버전 | 호환 가능한 Openshift Pipelines 버전 | OpenShift Version | 지원 | |
---|---|---|---|---|---|
Operator | 빌드 (Shipwright) | CLI | |||
1.1 | 0.13.0 (GA) | 0.13.0 (GA) | 1.13, 1.14 및 1.15 | 4.12, 4.13, 4.14, 4.15 및 4.16 | GA |
1.0 | 0.12.0 (GA) | 0.12.0 (GA) | 1.12, 1.13, 1.14, 1.15 | 4.12, 4.13, 4.14, 4.15 및 4.16 | GA |
1.2. 보다 포괄적 수용을 위한 오픈 소스 용어 교체 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1.3. 빌드 일반 가용성 1.1.1 릴리스 정보 링크 복사링크가 클립보드에 복사되었습니다!
이번 업데이트를 통해 빌드 1.1.1은 이제 OpenShift Container Platform 4.12, 4.13, 4.14, 4.15 및 4.16에서 GA(Generally Available)를 사용할 수 있습니다.
1.3.1. 해결된 문제 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 빌드 1.1.1의 수정된 문제를 중점적으로 설명합니다.
이번 업데이트를 통해 CSI(Share Resource Container Storage Interface) 드라이버에 다음과 같은 권한이 있습니다.
- 주제 액세스 검토 생성
- 공유 리소스 오브젝트 가져오기, 나열 및 조사
1.4. 빌드 일반 가용성 1.1 릴리스 정보 링크 복사링크가 클립보드에 복사되었습니다!
이번 업데이트를 통해 빌드 1.1은 이제 OpenShift Container Platform 4.12, 4.13, 4.14, 4.15 및 4.16에서 GA(Generally Available)를 사용할 수 있습니다.
1.4.1. 새로운 기능 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 빌드 1.1의 새로운 기능에 대해 설명합니다.
1.4.1.1. 빌드 링크 복사링크가 클립보드에 복사되었습니다!
-
빌드 컨트롤러에서 Tekton의 V1 API를 사용하여
BuildRun
을 지원하는TaskRun
을 생성하고 액세스합니다. - 이번 릴리스에서는 소스 없이 빌드를 정의할 수 있습니다. 이 기능은 로컬 소스만 사용하여 빌드를 실행하려는 경우에 유용합니다.
-
이제 출력 이미지 섹션에서 이미지 생성 타임스탬프를 변경하기 위해 선택적 타임스탬프 필드를 지원합니다.
SourceTimestamp
문자열을 사용하여 소스 타임스탬프와 일치하도록 설정합니다. -
이번 릴리스에서는
build
및buildRun
둘 다에.source.type
필드가 필요합니다. - 이번 릴리스에서는 Operator가 기본적으로 shipwright를 설치하고 빌드에 대한 여러 사용자 환경 개선 사항을 도입합니다.
1.4.1.2. 공유 리소스 CSI 드라이버 링크 복사링크가 클립보드에 복사되었습니다!
-
이제 공유 리소스 CSI 드라이버를 일반적으로 사용할 수 있습니다. 이번 릴리스에서는 CSI 공유 드라이버를 사용하면 Kubernetes 클러스터의 다른 네임스페이스에서
ConfigMap
및 시크릿을 공유할 수 있습니다. 드라이버에는 모든 Kubernetes 시크릿을 읽을 수 있는 권한이 있습니다. 이 기능을 사용하면 중복을 줄이고 멀티 테넌트 환경에서 구성 관리를 단순화하여 리소스 효율성을 향상시킵니다. 관리자는 액세스 정책을 정의하여 이러한 공유 리소스를 읽거나 수정할 수 있는 네임스페이스를 제어할 수 있습니다.
1.4.2. 확인된 문제 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 빌드 1.1에서 알려진 문제를 강조 표시합니다.
1.4.2.1. 빌드 링크 복사링크가 클립보드에 복사되었습니다!
-
이번 릴리스에서는 빌드 1.0에서 빌드 1.1로 직접 업그레이드할 수 없습니다. Builds 1.1로 업그레이드하려면
shipwrightBuild
오브젝트를 삭제하고 Builds1.0.z
Operator를 제거한 다음 OperatorHub에서 Builds1.1.0
Operator를 설치해야 합니다.
2장. 빌드 개요 링크 복사링크가 클립보드에 복사되었습니다!
빌드는 shipwright 프로젝트를 기반으로 하는 확장 가능한 빌드 프레임워크로, OpenShift Container Platform 클러스터에서 컨테이너 이미지를 빌드하는 데 사용할 수 있습니다. S2I(Source-to-Image) 및 Buildah
와 같은 이미지 빌드 툴을 사용하여 소스 코드 및 Dockerfile에서 컨테이너 이미지를 빌드할 수 있습니다. 빌드 리소스를 생성 및 적용하고, 빌드 실행 로그를 보고, OpenShift Container Platform 네임스페이스에서 빌드를 관리할 수 있습니다.
빌드에는 다음 기능이 포함됩니다.
- 소스 코드 및 Dockerfile에서 컨테이너 이미지를 빌드하는 표준 Kubernetes 네이티브 API
-
S2I(Source-to-Image) 및
Buildah
빌드 전략 지원 - 사용자 정의 빌드 전략을 통한 확장성
- 로컬 디렉터리의 소스 코드에서 빌드 실행
- 로그를 생성 및 보기 위한 shipwright CLI, 클러스터에서 빌드 관리
- OpenShift Container Platform 웹 콘솔의 개발자 관점과 통합된 사용자 경험
빌드는 다음 사용자 정의 리소스(CR)로 구성됩니다.
-
Build
-
BuildStrategy
및ClusterBuildStrategy
-
BuildRun
2.1. 빌드 리소스 링크 복사링크가 클립보드에 복사되었습니다!
Build
리소스는 애플리케이션의 소스 코드와 애플리케이션 이미지를 내보낼 위치를 정의합니다. 다음 예제에서는 Git 소스, 빌드 전략 및 출력 이미지로 구성된 간단한 빌드를 보여줍니다.
Build
리소스를 확장하여 이미지를 프라이빗 레지스트리로 내보내거나 Dockerfile을 사용할 수도 있습니다.
2.2. BuildStrategy 및 ClusterBuildStrategy 리소스 링크 복사링크가 클립보드에 복사되었습니다!
BuildStrategy
및 ClusterBuildStrategy
리소스는 애플리케이션을 어셈블하기 위한 일련의 단계를 정의합니다. 네임스페이스 및 클러스터 내의 Cluster
리소스 내에서 BuildStrategy 리소스를 사용할 수 있습니다.
BuildStrategy
BuildStrategy
또는 ClusterBuildStrategy
리소스의 사양은 steps
오브젝트로 구성됩니다. 다음 예제에서는 buildah
클러스터 빌드 전략의 사양을 보여줍니다.
2.3. buildrun 리소스 링크 복사링크가 클립보드에 복사되었습니다!
BuildRun
리소스는 클러스터 작업 또는 Tekton 작업 실행과 유사하게 클러스터에서 빌드를 호출합니다. BuildRun
리소스는 클러스터의 워크로드를 표시하여 실행 중인 Pod를 생성합니다. BuildRun
은 실행 중인 빌드 인스턴스입니다. 클러스터에서 특정 매개변수를 사용하여 실행할 빌드를 인스턴스화합니다.
BuildRun
리소스는 다음 요소를 정의하는 데 도움이 됩니다.
-
빌드 상태를 모니터링할 고유한
BuildRun
이름 -
빌드 중 사용할 참조된
Build
인스턴스 - 빌드의 모든 보안을 호스팅하는 서비스 계정
각 BuildRun
리소스는 네임스페이스 내에서 사용할 수 있습니다.
2.4. 빌드 컨트롤러 링크 복사링크가 클립보드에 복사되었습니다!
빌드 컨트롤러는 Build
리소스의 업데이트를 모니터링하고 다음 작업을 수행합니다.
-
참조된
Strategy
오브젝트가Build
리소스에 있는지 확인합니다. -
Build
CR에서 지정된 매개변수가 참조된 빌드 전략에 있는지 확인합니다. 매개변수 이름이 예약된 이름과 충돌하는지도 확인합니다. -
Build
리소스에 컨테이너 레지스트리 출력 시크릿이 있는지 확인합니다. -
참조된
spec.source.git.url
끝점 URL이Build
리소스에 있는지 확인합니다.
빌드 실행 컨트롤러는 Build
또는 TaskRun
리소스의 업데이트를 모니터링하고 다음 작업을 수행합니다.
-
기존
TaskRun
리소스를 검색하고 상위BuildRun
리소스 상태를 업데이트합니다. -
지정된 서비스 계정을 검색하고
Build
리소스의 출력 보안과 함께 설정합니다. -
TaskRun
리소스가 없는 경우 컨트롤러는 새 TektonTaskRun
리소스를 생성하고TaskRun
리소스에 대한 참조를 설정합니다. -
TaskRun
리소스의 후속 업데이트의 경우 컨트롤러는 상위BuildRun
리소스를 업데이트합니다.
2.4.1. 빌드 검증 링크 복사링크가 클립보드에 복사되었습니다!
잘못된 종속성 또는 구성 설정으로 인해 실패하는 BuildRun
리소스를 트리거하지 않으려면 빌드 컨트롤러에서 미리 유효성을 검사합니다. 모든 검증이 성공하면 Succeeded
라는 status.reason
필드를 볼 수 있습니다. 그러나 검증이 실패하는 경우 status.reason
및 status.message
필드를 확인하여 근본 원인을 파악해야 합니다.
status.reason 필드 | 설명 |
---|---|
| 네임스페이스 수준에서 참조된 전략이 존재하지 않습니다. |
| 클러스터 수준에서 참조된 전략이 존재하지 않습니다. |
|
|
| Git에 인증하는 데 사용되는 시크릿은 존재하지 않습니다. |
| 컨테이너 레지스트리에 인증하는 데 사용되는 시크릿은 존재하지 않습니다. |
| 컨테이너 레지스트리에 인증하는 데 사용되는 시크릿은 존재하지 않습니다. |
| 인증에 사용되는 여러 보안이 누락되어 있습니다. |
|
하나 이상의 정의된 |
|
매개변수는 참조된 전략에 정의되지 않습니다. 해당 매개변수를 전략의 |
|
정의된 |
|
|
| 사용자 제공 환경 변수의 이름이 비어 있음을 나타냅니다. |
| 사용자 제공 환경 변수의 값이 비어 있음을 나타냅니다. |
3장. 빌드 전략 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터에서 선별된 빌드 전략 세트 또는 클러스터 빌드 전략을 사용할 수 있습니다. Red Hat OpenShift Operator 빌드는 사용할 이러한 전략을 자동으로 설치합니다. 이 자동화된 전략 설치는 신속하게 빌드를 시작하는 데 도움이 됩니다.
빌드에서는 다음 클러스터 빌드 전략을 지원합니다.
-
Buildah
: 모든 플랫폼에서 지원 -
S2I(Source-to-Image
) : linux/amd64 플랫폼에서 지원
buildpacks
빌드 전략은 현재 개발자 프리뷰 에 있습니다. 자세한 내용은 buildpacks 예제 를 참조하십시오.
3.1. Buildah 링크 복사링크가 클립보드에 복사되었습니다!
buildah
클러스터 빌드 전략에서는 Dockerfile을 사용하여 컨테이너 이미지를 빌드하고 대상 레지스트리로 푸시합니다. Build
CR의 spec.paramValues
필드에 Dockerfile을 지정해야 합니다.
Red Hat OpenShift Operator 빌드가 클러스터 수준에서 buildah
전략을 설치하기 때문에 클러스터 내의 다른 네임스페이스에서 buildah
전략을 공유할 수 있습니다.
buildah
전략에 대해 다음 매개변수를 구성할 수 있습니다.
이름 | 유형 | 설명 | Default |
---|---|---|---|
| array | 빌드 중 사용되는 Dockerfile에 필요한 인수의 키-값 쌍 | [] |
| array | 차단해야 하는 레지스트리 목록 | [] |
| array | FQDN(정규화된 도메인 이름)이 있는 비보안 레지스트리 목록 | [] |
| array | 짧은 이름 이미지를 검색할 레지스트리 목록 | ["registry.redhat.io", "quay.io"] |
| string | 빌드 중 사용되는 Dockerfile의 경로 | "Dockerfile" |
| string |
| "vfs" |
자세한 내용은 추가 리소스 섹션의 빌드 전략 구성 을 참조하십시오.
3.2. S2I(Source-to-Image) 링크 복사링크가 클립보드에 복사되었습니다!
이 빌드 전략은 S2I(Source -to-Image
) 및 buildah
로 구성됩니다. 이 전략을 사용하여 컨테이너 파일을 생성하고 빌더 이미지로 빌드할 애플리케이션을 준비할 수 있습니다. Build
CR의 spec.paramValues
필드에 빌더 이미지를 지정해야 합니다.
Red Hat OpenShift Operator 빌드가 클러스터 수준에서 S2I(Source -to-Image
) 전략을 설치하기 때문에 클러스터 내의 여러 네임스페이스에서 S2I(Source -to-Image
) 전략을 공유할 수 있습니다.
S2I(Source -to-Image
) 전략에 대해 다음 매개변수를 구성할 수 있습니다.
이름 | 유형 | 설명 | Default |
---|---|---|---|
| array | 차단해야 하는 레지스트리 목록 | [] |
| array | FQDN이 있는 비보안 레지스트리 목록 | [] |
| array | 짧은 이름 이미지를 검색할 레지스트리 목록 | ["registry.redhat.io", "quay.io"] |
| string | 빌드 중 사용되는 빌더 이미지의 위치 | 해당 없음 |
| string |
오버레이 또는 vfs와 같이 S | "vfs" |
Legal Notice
링크 복사링크가 클립보드에 복사되었습니다!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.