파이프라인 작업 공간 구성
지속적 통합 작업 및 사용자 지정 작업을 실행하려면
Automation Pipelines
파이프라인에 대한 업무 공간을 구성해야 합니다. 파이프라인 업무 공간에서 Docker 또는 Kubernetes로
유형
을 선택하고 해당 끝점을 제공합니다. Docker 및 Kubernetes 플랫폼은 CI(지속적 통합) 작업 또는 사용자 지정 작업을 실행하기 위해 Automation Pipelines
에서 배포하는 컨테이너의 전체 수명 주기를 관리합니다.- Docker 업무 공간에는 Docker 호스트 끝점, 빌더 이미지 URL, 이미지 레지스트리, 작업 디렉토리, 캐시, 환경 변수, CPU 제한 및 메모리 제한이 필요합니다. Git 저장소의 복제본을 생성할 수도 있습니다.
- Kubernetes 업무 공간에는 Kubernetes API 끝점, 빌더 이미지 URL, 이미지 레지스트리, 네임스페이스, NodePort, PVC(영구 볼륨 할당), 작업 디렉토리, 환경 변수, CPU 제한 및 메모리 제한이 필요합니다. Git 저장소의 복제본을 생성할 수도 있습니다.
파이프라인 업무 공간 구성에는 다음 표에 설명된 것처럼 많은 공통 매개 변수와 업무 공간 유형과 관련된 기타 매개 변수가 있습니다.
선택 | 설명 | 세부 정보 및 가용성 |
---|---|---|
유형
| 업무 공간의 유형입니다. | Docker 또는 Kubernetes와 함께 사용할 수 있습니다. |
호스트 끝점
| CI(지속적 통합)및 사용자 지정 작업이 실행되는 호스트 끝점입니다. | Docker 호스트 끝점을 선택하면 Docker 업무 공간에서 사용할 수 있습니다. Kubernetes API 끝점을 선택하면 Kubernetes 업무 공간에서 사용할 수 있습니다. |
빌더 이미지 URL
| 빌더 이미지의 이름 및 위치입니다. 컨테이너는 Docker 호스트 및 Kubernetes 클러스터에서 이 이미지를 사용하여 생성됩니다. CI(지속적 통합) 작업 및 사용자 지정 작업은 이 컨테이너 내에서 실행됩니다. | 예: fedora:latest 빌더 이미지에는 curl 또는 wget 이 있어야 합니다. |
이미지 레지스트리
| 빌더 이미지를 레지스트리에서 사용할 수 있고 레지스트리에 자격 증명이 필요한 경우에는 레지스트리에서 이미지를 가져올 수 있도록 이미지 레지스트리 끝점을 생성한 다음 여기에서 선택해야 합니다. | Docker 및 Kubernetes 업무 공간에서 사용할 수 있습니다. |
작업 디렉토리
| 작업 디렉토리는 CI(지속적 통합) 작업의 단계가 실행되는 컨테이너 내부의 위치이며 Git Webhook가 파이프라인 실행을 트리거할 때 코드가 복제되는 위치입니다. | Docker 또는 Kubernetes와 함께 사용할 수 있습니다. |
네임스페이스
| 네임스페이스를 입력하지 않으면 Automation Pipelines 은 사용자가 제공한 Kubernetes 클러스터에 고유한 이름을 생성합니다. | Kubernetes 업무 공간에만 해당됩니다. |
프록시
| Kubernetes 클러스터의 업무 공간 포드와 통신하기 위해 Automation Pipelines 은 각 Kubernetes 클러스터의 네임스페이스 codestream-proxy 에 단일 프록시 인스턴스를 배포합니다. 클러스터 구성에 따라 NodePort 또는 LoadBalancer 유형을 선택할 수 있습니다.선택하는 옵션은 배포된 Kubernetes 클러스터의 특성에 따라 달라집니다.
| |
NodePort
| Automation Pipelines 은 NodePort를 사용하여 Kubernetes 클러스터 내에서 실행되는 컨테이너와 통신합니다.포트를 선택하지 않으면 Automation Pipelines 은 Kubernetes가 할당하는 사용 후 삭제 포트를 사용합니다. 방화벽 규칙의 구성이 사용 후 삭제 포트 범위(30000-32767)에 대한 수신을 허용하는지 확인해야 합니다.포트를 입력하는 경우 클러스터의 다른 서비스가 해당 포트를 이미 사용하고 있지 않으며 방화벽 규칙이 해당 포트를 허용하는지 확인해야 합니다. | Kubernetes 업무 공간에만 해당됩니다. |
영구 볼륨 할당
| Kubernetes 업무 공간이 파이프라인 실행 간에 파일을 유지하는 방법을 제공합니다. 영구 볼륨 할당 이름을 제공하면 로그, 아티팩트 및 캐시를 저장할 수 있습니다. 영구 볼륨 할당 생성에 대한 자세한 내용은 Kubernetes 설명서( https://kubernetes.io/docs/concepts/storage/persistent-volumes/ )를 참조하십시오.
| Kubernetes 업무 공간에만 해당됩니다. |
환경 변수
| 여기에 전달된 키-값 쌍은 파이프라인이 실행될 때 파이프라인의 모든 CI(지속적 통합) 작업 및 사용자 지정 작업에서 사용할 수 있습니다. | Docker 또는 Kubernetes와 함께 사용할 수 있습니다. 변수에 대한 참조를 여기에 전달할 수 있습니다. 업무 공간에 제공된 환경 변수는 파이프라인의 모든 CI(지속적 통합) 작업 및 사용자 지정 작업에 전달됩니다. 환경 변수가 여기에 전달되지 않으면 해당 변수는 파이프라인의 각 CI(지속적 통합) 작업 및 사용자 지정 작업에 명시적으로 전달되어야 합니다. |
CPU 제한
| CI(지속적 통합) 컨테이너 또는 사용자 지정 작업 컨테이너에 대한 CPU 리소스 제한입니다. | 기본값은 1 입니다. |
메모리 제한
| CI(지속적 통합) 컨테이너 또는 사용자 지정 작업 컨테이너에 대한 메모리 제한입니다. | 단위는 MB 입니다. |
Git 클론
| Git 클론 을 선택하고 Git Webhook가 파이프라인을 호출하면 코드가 업무 공간(컨테이너)에 복제됩니다. | Git 클론 을 사용하도록 설정하지 않은 경우 먼저 코드를 복제한 다음 빌드 및 테스트와 같은 다른 단계를 수행하도록 파이프라인에서 또 다른 명시적 CI(지속적 통합)작업을 구성해야 합니다. |
캐시
| Automation Pipelines 업무 공간을 사용하면 일련의 디렉토리 또는 파일을 캐시하여 후속 파이프라인 실행 속도를 높일 수 있습니다. 이러한 디렉토리의 예로는 .m2 및 npm_modules 가 있습니다. 파이프라인 실행 간에 데이터 캐싱이 필요하지 않은 경우 영구 볼륨 할당이 필요하지 않습니다. 컨테이너의 파일 또는 디렉토리와 같은 아티팩트는 파이프라인 실행 전반에서 재사용할 수 있도록 캐시됩니다. 예: node_modules 또는 .m2 폴더를 캐시할 수 있습니다. 캐시 는 경로 목록을 허용합니다.예를 들면 다음과 같습니다.
| 업무 공간 유형에 따라 다릅니다. Docker 업무 공간에서 캐시된 데이터, 아티팩트 및 로그를 유지하기 위해 Docker 호스트의 공유 경로를 사용하여 캐시 가 수행됩니다.Kubernetes 업무 공간에서 캐시 를 사용할 수 있도록 설정하려면 영구 볼륨 할당을 제공해야 합니다. 그렇지 않으면 캐시 를 사용할 수 없습니다. |
파이프라인 업무 공간에서 Kubernetes API 끝점을 사용하는 경우
Automation Pipelines
은 CI(지속적 통합) 작업 또는 사용자 지정 작업을 실행하는 데 필요한 Kubernetes 리소스(예: ConfigMap, Secret 및 포드)를 생성합니다. Automation Pipelines
은 NodePort를 사용하여 컨테이너와 통신합니다.파이프라인 실행 간에 데이터를 공유하려면 영구 볼륨 할당을 제공해야 합니다. 그러면
Automation Pipelines
은 영구 볼륨 할당을 컨테이너에 마운트하여 데이터를 저장하고 후속 파이프라인 실행에 사용합니다.