InfoGrab DocsInfoGrab Docs

CI/CD 입력

재사용 가능한 CI/CD 템플릿과 컴포넌트를 타입이 지정된 검증된 입력 파라미터로 커스터마이즈하는 방법을 설명합니다.

히스토리 GitLab 17.0에서 정식 출시 되었습니다. CI/CD inputs를 사용하면 CI/CD 구성의 유연성을 높일 수 있습니다. inputs와 CI/CD 변수 를 비슷한 방식으로 사용할 수 있지만, 이점은 서로 다릅니다: inputs는 재사용 가능한 템플릿에 타입이 지정된 매개변수를 제공하며 파이프라인 생성 시점에 내장 검증을 거칩니다. 파이프라인 실행 시 구체적인 값을 정의하려면 CI/CD 변수 대신 inputs를 사용합니다. CI/CD 변수는 여러 수준에서 정의할 수 있는 유연한 값을 제공하지만, 파이프라인 실행 도중에 수정될 수 있습니다. job의 런타임 환경에서 접근해야 하는 값에는 변수를 사용합니다. 조건부 include를 통한 동적 파이프라인 구성을 위해 사전 정의된 변수 를 include:rules 와 함께 사용할 수도 있습니다. CI/CD Inputs와 변수 비교 # Inputs: 목적 : CI/CD 구성(템플릿, 컴포넌트, 또는 .gitlab-ci.yml )에 정의되며 파이프라인이 트리거될 때 값이 할당되어, 사용자가 재사용 가능한 CI 구성을 커스터마이즈할 수 있게 합니다. 수정 : 파이프라인 초기화 시점에 전달된 이후에는, input 값이 CI/CD 구성에 보간(interpolate)되어 파이프라인 실행 전체 동안 고정됩니다. 범위 : .gitlab-ci.yml 또는 include 되는 파일 등, 정의된 파일 안에서만 사용할 수 있습니다. include:inputs 를 사용하면 다른 파일에, trigger:inputs 를 사용하면 파이프라인에 명시적으로 전달할 수 있습니다. 검증 : 타입 검사, 정규식 패턴, 사전 정의된 옵션 목록, 사용자를 위한 설명 등 탄탄한 검증 기능을 제공합니다. CI/CD 변수: 목적 : job 실행 중이나 파이프라인의 다양한 위치에서 job 간 데이터 전달을 위해 환경 변수로 설정할 수 있는 값입니다. 수정 : dotenv 아티팩트, 조건부 규칙, 또는 job 스크립트 내에서 직접 파이프라인 실행 중에 동적으로 생성하거나 수정할 수 있습니다. 범위 : 전역(모든 job에 영향), job 수준(특정 job 에만 영향), 또는 GitLab UI를 통해 프로젝트나 그룹 전체 수준으로 정의할 수 있습니다. 검증 : 키-값 쌍이며 내장 검증은 최소한이지만, 프로젝트 변수의 경우 GitLab UI를 통해 일부 제어를 추가할 수 있습니다. spec:inputs 로 입력 매개변수 정의하기 # CI/CD 구성의 헤더 에서 spec:inputs 를 사용하면 구성 파일에 전달할 수 있는 입력 매개변수를 정의할 수 있습니다. 헤더 섹션 바깥에서 $[[ inputs.input-id ]] 보간 형식을 사용해 inputs를 사용할 위치를 선언합니다. 예를 들면 다음과 같습니다: spec: inputs: job-stage: default: test environment: default: production --- scan-website: stage: $[[ inputs.job-stage ]] script: .