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 소스, 빌드 전략 및 출력 이미지로 구성된 간단한 빌드를 보여줍니다.
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-golang-build spec: source: git: url: https://github.com/username/taxi strategy: name: buildah kind: ClusterBuildStrategy output: image: registry.mycompany.com/my-org/taxi-app:latest
Build
리소스를 확장하여 이미지를 프라이빗 레지스트리로 내보내거나 Dockerfile을 사용할 수도 있습니다.