1.3.3. 파이프라인
파이프라인은 특정 실행 순서대로 정렬된 Task
리소스 컬렉션입니다. 하나 이상의 작업이 포함된 파이프라인을 사용하여 애플리케이션에 대한 CI/CD 워크플로를 정의할 수 있습니다.
Pipeline
리소스 정의는 함께 사용하면 파이프라인에서 특정 목표를 달성할 수 있는 여러 필드 또는 특성으로 구성됩니다. 각 Pipeline
리소스 정의에는 특정 입력을 수집하고 특정 출력을 생성하는 Task
가 하나 이상 포함되어야 합니다. 또한 파이프라인 정의에는 애플리케이션 요구 사항에 따라 Conditions, Workspaces, Parameters 또는 Resources가 선택적으로 포함될 수 있습니다.
다음 예제에서는 buildah
ClusterTask
리소스를 사용하여 Git 리포지토리에서 애플리케이션 이미지를 빌드하는 build-and-deploy
파이프라인을 보여줍니다.
apiVersion: tekton.dev/v1beta1 1 kind: Pipeline 2 metadata: name: build-and-deploy 3 spec: 4 workspaces: 5 - name: shared-workspace params: 6 - name: deployment-name type: string description: name of the deployment to be patched - name: git-url type: string description: url of the git repo for the code of deployment - name: git-revision type: string description: revision to be used from repo of the code for deployment default: "release-tech-preview-3" - name: IMAGE type: string description: image to be built from the code tasks: 7 - name: fetch-repository taskRef: name: git-clone kind: ClusterTask workspaces: - name: output workspace: shared-workspace params: - name: url value: $(params.git-url) - name: subdirectory value: "" - name: deleteExisting value: "true" - name: revision value: $(params.git-revision) - name: build-image 8 taskRef: name: buildah kind: ClusterTask params: - name: TLSVERIFY value: "false" - name: IMAGE value: $(params.IMAGE) workspaces: - name: source workspace: shared-workspace runAfter: - fetch-repository - name: apply-manifests 9 taskRef: name: apply-manifests workspaces: - name: source workspace: shared-workspace runAfter: 10 - build-image - name: update-deployment taskRef: name: update-deployment workspaces: - name: source workspace: shared-workspace params: - name: deployment value: $(params.deployment-name) - name: IMAGE value: $(params.IMAGE) runAfter: - apply-manifests
- 1
- Pipeline API 버전은
v1beta1
입니다. - 2
- Kubernetes 개체의 유형을 지정합니다. 예에서는
Pipeline
입니다. - 3
- 이 Pipeline의 고유한 이름입니다.
- 4
- Pipeline의 정의와 구조를 지정합니다.
- 5
- Pipeline의 모든 Task에 사용되는 Workspace입니다.
- 6
- Pipeline의 모든 Task에 사용되는 매개변수입니다.
- 7
- Pipeline에서 사용되는 Task 목록을 지정합니다.
- 8
buildah
ClusterTask를 사용하여 주어진 Git 리포지토리에서 애플리케이션 이미지를 빌드하는 Taskbuild-image
입니다.- 9
- 동일한 이름의 사용자 지정 Task를 사용하는 Task
apply-manifests
입니다. - 10
- Pipeline에서 Task가 실행되는 순서를 지정합니다. 예에서는
apply-manifests
Task는build-image
Task가 완료된 후에만 실행됩니다.