2.5.4.2. 파이프라인 빌드를 위한 Jenkins 파일 제공
파이프라인 빌드 전략은 OpenShift Container Platform 4에서 더 이상 사용되지 않습니다. 동등하고 향상된 기능은 Tekton 기반 OpenShift Container Platform Pipelines에 있습니다.
OpenShift Container Platform의 Jenkins 이미지는 완전히 지원되며 사용자는 Jenkins 사용 설명서를 따라 작업에 jenkinsfile
을 정의하거나 소스 제어 관리 시스템에 저장해야 합니다.
jenkinsfile
에서는 표준 Groovy 언어 구문을 사용하여 애플리케이션의 구성, 빌드, 배포를 세부적으로 제어할 수 있습니다.
다음 방법 중 하나로 jenkinsfile
을 제공할 수 있습니다.
- 소스 코드 리포지토리에 있는 파일
-
jenkinsfile
필드를 사용하여 빌드 구성의 일부로 포함
첫 번째 옵션을 사용하는 경우 다음 위치 중 하나의 애플리케이션 소스 코드 리포지토리에 jenkinsfile
을 포함해야 합니다.
-
리포지토리 루트에 있는
jenkinsfile
이라는 파일 -
리포지토리의 소스
contextDir
루트에 있는jenkinsfile
이라는 파일 -
BuildConfig의
JenkinsPipelineStrategy
섹션에 있는jenkinsfilePath
필드를 통해 지정되는 파일 이름(제공되는 경우 소스contextDir
에 상대적이고 제공되지 않는 경우 기본값은 리포지토리의 루트임)
jenkinsfile
은 Jenkins 에이전트 Pod에서 실행됩니다. OpenShift Container Platform DSL을 사용하려면 해당 Pod에 사용 가능한 OpenShift Container Platform 클라이언트 바이너리가 있어야 합니다.
프로세스
다음 중 하나를 수행하여 Jenkins 파일을 제공할 수 있습니다.
- 빌드 구성에 Jenkins 파일 포함
- 빌드 구성에 Jenkins 파일이 포함된 Git 리포지토리에 대한 참조 포함
포함된 정의
kind: "BuildConfig" apiVersion: "v1" metadata: name: "sample-pipeline" spec: strategy: jenkinsPipelineStrategy: jenkinsfile: |- node('agent') { stage 'build' openshiftBuild(buildConfig: 'ruby-sample-build', showBuildLogs: 'true') stage 'deploy' openshiftDeploy(deploymentConfig: 'frontend') }
Git 리포지토리에 대한 참조
kind: "BuildConfig"
apiVersion: "v1"
metadata:
name: "sample-pipeline"
spec:
source:
git:
uri: "https://github.com/openshift/ruby-hello-world"
strategy:
jenkinsPipelineStrategy:
jenkinsfilePath: some/repo/dir/filename 1
- 1
- 선택적
jenkinsfilePath
필드는 소스contextDir
에 상대적으로 사용할 파일의 이름을 지정합니다.contextDir
이 생략된 경우 기본값은 리포지토리의 루트입니다.jenkinsfilePath
가 생략된 경우 기본값은jenkinsfile
입니다.