Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

승격 단계 병합: product promotion append

apollo-cli product promotion append는 YAML 템플릿의 승격 단계를 제품의 기존 파이프라인에 병합합니다. 하나의 제품 또는 배포 환경에 속한 모든 제품을 대상으로 사용할 수 있습니다.

실험 단계(Experimental)의 명령으로 V2 experimental commands 활성화가 필요합니다.

apollo-cli product promotion append [product-id] [flags]

단계의 식별과 충돌

단계는 출발 릴리스 채널과 도착 릴리스 채널의 조합으로 식별합니다. 같은 조합이 기존 파이프라인에 있으면 충돌로 취급하며, 충돌하지 않는 단계는 기존 파이프라인에 추가합니다.

실행 방식충돌 처리
기본 실행충돌마다 덮어쓸지 대화형으로 확인
--override확인 없이 모든 충돌 덮어쓰기
--dry-run적용 없이 변경을 보여줌. 충돌에는 would override 표시

옵션

옵션의미
-f, --file읽을 YAML 템플릿 파일 하나
-e, --environment일괄 적용할 제품을 선택할 배포 환경
--space-id대상 공간 ID
--override충돌 확인 없이 덮어쓰기
--dry-run변경을 적용하지 않고 수행할 작업 확인
-h, --help명령 도움말

템플릿에 담을 단계 정보

템플릿의 stages는 단계 목록입니다. 각 단계에 sourceReleaseChannel, targetReleaseChannel로 출발 및 도착 채널을 지정하고, stage에서 단계 유형과 조건을 정의합니다.

가상의 사용자 지정 채널 BETA와 STABLE을 미리 만든 뒤, 다음 조건으로 승격 단계를 구성한다고 가정하겠습니다.

설정예시 값과 의미
sourceReleaseChannelBETA
targetReleaseChannelSTABLE
단계의 typezeroCanary
zeroCanary의 soakTimePT1440M: 1,440분의 안정성 관찰 기간
productLabelConditions의 labelIdsecurity.palantir.build/approved
레이블 조건의 onlyPossibleLabelValues문자열 목록 ["true"]

이 조건은 BETA에서 STABLE로 넘어갈 때 안정성 관찰 기간과 제품 릴리스의 승인 레이블 조건을 사용하도록 구성합니다.

적용 예시

다음 명령은 준비한 stages.yaml을 가상의 제품에 병합하기 전에 변경을 확인합니다.

./apollo-cli product promotion append com.example:service-a \
  --file stages.yaml --dry-run

제품 하나에 적용하려면 다음과 같이 실행합니다.

./apollo-cli product promotion append com.example:service-a --file stages.yaml

배포 환경의 모든 제품에 적용하려면 다음과 같이 실행합니다.

./apollo-cli product promotion append --environment test-spoke --file stages.yaml

확인 없이 충돌을 덮어써야 하는 경우에는 --override를 추가합니다.

./apollo-cli product promotion append --environment test-spoke \
  --file stages.yaml --override

일괄 모드에서는 배포 환경 안의 제품 전체가 선택됩니다. 적용 전에 대상 제품과 충돌 내용을 확인해야 합니다.