This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.5.4.4. 파이프라인 빌드 튜토리얼
파이프라인 빌드 전략은 OpenShift Container Platform 4에서 더 이상 사용되지 않습니다. 동등하고 향상된 기능은 Tekton 기반 OpenShift Container Platform Pipelines에 있습니다.
OpenShift Container Platform의 Jenkins 이미지는 완전히 지원되며 사용자는 Jenkins 사용 설명서를 따라 작업에 jenkinsfile
을 정의하거나 소스 제어 관리 시스템에 저장해야 합니다.
이 예제에서는 nodejs-mongodb.json
템플릿을 사용하여 Node.js/MongoDB
애플리케이션을 빌드, 배포, 확인할 OpenShift Container Platform Pipeline을 생성하는 방법을 보여줍니다.
프로세스
Jenkins 마스터를 생성합니다.
oc project <project_name>
$ oc project <project_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용할 프로젝트를 선택하거나
oc new-project <project_name>
을 사용하여 새 프로젝트를 생성합니다.oc new-app jenkins-ephemeral
$ oc new-app jenkins-ephemeral
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 영구 스토리지를 사용하려면 대신
jenkins-persistent
를 사용합니다.다음 콘텐츠를 사용하여
nodejs-sample-pipeline.yaml
이라는 파일을 생성합니다.참고이 과정에서 Jenkins Pipeline 전략을 사용하여
Node.js/MongoDB
예제 애플리케이션을 빌드, 배포, 스케일링하는BuildConfig
오브젝트가 생성됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow jenkinsPipelineStrategy
를 사용하여BuildConfig
오브젝트를 생성한 후에는 인라인jenkinsfile
을 사용하여 파이프라인에 수행할 작업을 지시합니다.참고이 예에서는 애플리케이션에 대한 Git 리포지토리를 설정하지 않습니다.
다음
jenkinsfile
콘텐츠는 OpenShift Container Platform DSL을 사용하여 Groovy로 작성됩니다. 소스 리포지토리에jenkinsfile
을 포함하는 것이 기본 방법이지만 이 예제에서는 YAML 리터럴 스타일을 사용하여BuildConfig
오브젝트에 인라인 콘텐츠를 포함합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 사용할 템플릿의 경로입니다.
- 1 2
- 생성할 템플릿의 이름입니다.
- 3
- 이 빌드를 실행할
node.js
에이전트 Pod를 구동합니다. - 4
- 이 파이프라인에 타임아웃을 20분으로 설정합니다.
- 5
- 이 템플릿 라벨이 있는 모든 항목을 삭제합니다.
- 6
- 이 템플릿 라벨을 사용하여 모든 보안을 삭제합니다.
- 7
templatePath
에서 새 애플리케이션을 생성합니다.- 8
- 빌드가 완료될 때까지 최대 5분 동안 기다립니다.
- 9
- 배포가 완료될 때까지 최대 5분 정도 기다립니다.
- 10
- 다른 모든 과정이 성공하면
$ {templateName}:latest
이미지에$ {templateName}-staging:latest
태그를 지정합니다. 스테이징 환경에 대한 파이프라인 빌드 구성에서는$ {templateName}-staging:latest
이미지가 변경될 때까지 기다린 다음 해당 이미지를 스테이징 환경에 배포할 수 있습니다.
참고위 예제는 선언적 파이프라인 스타일로 작성되었지만 기존에 스크립팅된 파이프라인 스타일도 지원됩니다.
OpenShift Container Platform 클러스터에서 파이프라인
BuildConfig
를 생성합니다.oc create -f nodejs-sample-pipeline.yaml
$ oc create -f nodejs-sample-pipeline.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자체 파일을 생성하지 않으려면 다음을 실행하여 원래 리포지토리의 샘플을 사용하면 됩니다.
oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/pipeline/nodejs-sample-pipeline.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/pipeline/nodejs-sample-pipeline.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
파이프라인을 시작합니다.
oc start-build nodejs-sample-pipeline
$ oc start-build nodejs-sample-pipeline
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고또는 빌드
파이프라인 섹션으로 이동하여 파이프라인 시작을 클릭하거나 Jenkins 콘솔을 방문하여 생성한 파이프라인으로 이동한 다음 지금 빌드를 클릭하여 OpenShift Container Platform 웹 콘솔에서 파이프라인을 시작할 수 있습니다. 파이프라인이 시작되면 프로젝트 내에서 수행되는 다음 작업이 표시되어야 합니다.
- Jenkins 서버에서 작업 인스턴스가 생성됩니다.
- 파이프라인에 필요한 경우 에이전트 Pod가 시작됩니다.
파이프라인은 에이전트 Pod에서 실행되지만 에이전트가 필요하지 않은 경우에는 마스터에서 실행됩니다.
-
template=nodejs-mongodb-example
라벨을 사용하여 이전에 생성한 리소스는 삭제됩니다. -
새 애플리케이션 및 이 애플리케이션의 모든 관련 리소스는
nodejs-mongodb-example
템플릿에서 생성됩니다. nodejs-mongodb-example
BuildConfig
를 사용하여 빌드가 시작됩니다.- 파이프라인은 빌드가 완료될 때까지 기다린 후 다음 단계를 트리거합니다.
배포는
nodejs-mongodb-example
배포 구성을 사용하여 시작됩니다.- 파이프라인은 배포가 완료될 때까지 기다린 후 다음 단계를 트리거합니다.
-
빌드 및 배포가 성공하면
nodejs-mongodb-example:latest
이미지에nodejs-mongodb-example:stage
태그가 지정됩니다.
-
파이프라인에 필요한 경우 에이전트 pod가 삭제됩니다.
참고파이프라인 실행을 시각화하는 가장 좋은 방법은 OpenShift Container Platform 웹 콘솔에서 확인하는 것입니다. 웹 콘솔에 로그인하고 빌드
파이프라인으로 이동하여 파이프라인을 확인할 수 있습니다.