Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

릴리스 승격 파이프라인 구성

승격 파이프라인은 릴리스를 어느 채널에서 어느 채널로 보낼지와 각 단계의 조건을 정합니다. 사용할 사용자 지정 채널을 먼저 만듭니다.

제품의 상태 판정 기준

제품 홈의 Actions → Edit product settings를 열고 Upgrades 탭으로 이동합니다. 이 탭에서 상태 요건, 업그레이드 분산 속도와 제품 유지보수 시간대를 설정할 수 있습니다.

건강 상태 보고의 사전 조건

비정상 임계값으로 승격 실패와 자동 회수를 판단하려면 Helm 차트가 서비스 건강 상태(Health)를 보고해야 합니다. 이 기능은 생존 상태(Liveness)와 별도의 서비스 상태 정보이며, 사용자 지정 건강 상태 보고는 베타 기능으로 일반 제공되지 않습니다. 사용이 필요하면 Palantir 담당자에게 제공 여부를 확인합니다.

건강 상태를 보고하지 않는 개체에서는 생존 상태와 시간만 사용합니다. 모든 Pod가 살아 있는 구간은 정상 시간으로 계산하고, 나머지는 정상 시간과 비정상 시간 어느 쪽에도 넣지 않습니다. 이 경우 상태 평가는 성공하거나 계속 평가 중일 수 있지만, 건강 상태를 근거로 실패하거나 자동 회수되지는 않습니다. 승격 전체의 시간 제한에 따른 취소는 별도입니다.

시간 집계

집계포함하는 구간
정상 시간(Healthy duration)모든 노드가 살아 있고 건강 상태가 HEALTHY 또는 DEFERRING인 구간
비정상 시간(Unhealthy duration)살아 있는 노드 중 하나 이상이 ERROR인 구간
어느 쪽에도 포함하지 않는 상태WARNING, REPAIRING, SUSPENDED, TERMINAL

정상 시간과 비정상 시간의 집계에서는 주말을 제외합니다. 어느 쪽에도 포함되지 않는 상태가 있으므로 두 시간의 합이 전체 관찰 기간보다 짧을 수 있습니다.

임계값

설정의미기본값
Healthy threshold성공 판정에 필요한 최소 정상 시간 비율0.95
Unhealthy threshold허용할 비정상 시간 비율의 상한. 실패 또는 추가 승격 전에 조사할 문제가 있는지 판정하는 기준0.05

두 값은 0에서 1 사이로 지정합니다. 이 비율은 개체가 정상 또는 비정상이었던 시간의 비율입니다. 뒤에서 지정하는 카나리 개체의 수나 비율과는 기준이 다릅니다.

파이프라인 편집

제품 홈의 Releases 탭에서 Promotion pipeline 영역의 Edit를 선택합니다.

Actions → Edit promotion pipeline에서도 같은 편집 화면을 열 수 있습니다.

승격 단계(Promotion stage)는 두 채널 사이의 이동입니다. Add stage로 단계를 추가하고, 단계 오른쪽의 삭제 표시로 제거합니다.

설정의미
Source channel릴리스가 출발하는 채널
Target channel릴리스를 추가할 도착 채널. 생성된 사용자 지정 채널을 선택
Timed promotion지정한 시간이 지난 뒤 승격
Canary promotion선택한 시험 대상의 상태와 조건을 평가하여 승격 또는 회수

기본 채널 RELEASE, RELEASE_CANDIDATE, DEV는 파이프라인의 도착 채널로 지정할 수 없습니다.

각 단계의 조건을 충족해도 자동 승격은 제품의 유지보수 시간대 안에서만 수행합니다. 제품의 파이프라인 변경은 다음 평가부터 적용됩니다. 평가 주기는 기본적으로 1분이며 운영 요구에 따라 조정할 수 있습니다. 편집을 마치면 Confirm을 선택합니다.

시간 기반 승격

Timed promotion은 릴리스가 출발 채널에 머문 시간을 기준으로 평가합니다.

항목설정
Duration출발 채널에서 기다릴 시간. 0초부터 31일까지 지정
Product Release label requirements릴리스에 필요한 레이블. 해당 ID가 있고 지정한 값 가운데 하나와 일치해야 함

단계에서 지정할 수 있는 기간과 승격 전체의 제한은 별도입니다. 승격 전체에는 30일 제한이 적용되므로 긴 대기 시간을 구성할 때는 시간 제한을 함께 확인합니다.

카나리 기반 승격

Canary promotion은 환경 필터로 시험할 개체를 고르고, 그 개체들의 관찰 결과를 평가합니다. 정상 조건은 승격을, 비정상 조건은 회수를 결정하는 데 사용합니다.

시험 대상 선택

Entity filters는 시험할 개체의 후보를 환경 기준으로 선택합니다.

필터값 지정 여부에 따른 동작
Environments with Label값이 없으면 환경에 해당 레이블 ID가 있어야 함. 값을 지정하면 ID와 값도 일치해야 함
Environments without Label값이 없으면 해당 레이블 ID가 없어야 함. 값을 지정하면 해당 ID와 값의 조합이 없어야 함
Choose Environments지정한 환경 집합에서 개체 선택
Exclude Environments지정한 환경 집합에 속하지 않는 개체 선택

환경을 조건으로 사용하지만 평가에 사용하는 개수와 비율의 대상은 선택된 개체입니다. 환경 레이블의 적용과 수정은 환경 레이블에서 다룹니다.

조건과 수행할 작업

조건판정과 결과
Promote when healthy지정한 수 또는 비율의 개체가 필요한 시간 이상 관찰되고 제품의 정상 임계값을 충족하면 승격
Recall when unhealthy지정한 수 또는 비율의 개체가 필요한 시간 이상 관찰되고 제품의 비정상 임계값 조건을 충족하면 릴리스 회수
Minimum entity count선택한 개체 수가 지정한 개수보다 많을 때만 승격
Require Product Release label필요한 레이블 요건을 충족할 때만 승격

정상 및 비정상 조건의 개체 기준은 개수 또는 선택한 개체의 비율로 정합니다. 두 조건의 관찰 기간은 각각 0초부터 13일까지 지정할 수 있습니다.

릴리스 레이블 조건에서 값을 지정하지 않으면 ID의 존재를 검사합니다. 값을 지정하면 ID와 값이 일치하는지도 검사합니다. 도착 채널 자체의 레이블 요건도 충족해야 합니다.

허브의 기본 승격 파이프라인

허브 관리자는 제품용과 모듈용 기본 파이프라인을 별도로 구성할 수 있습니다.

기본 구성사용할 수 있는 단계
제품 기본 파이프라인시간 기반 및 카나리 기반 단계
모듈 기본 파이프라인시간 기반 단계만 사용. 카나리 단계는 지원하지 않음

새 제품이나 모듈의 첫 릴리스를 게시하면 해당 기본 구성으로 파이프라인을 채웁니다. 이후 기본값을 바꾸어도 이미 파이프라인이 있는 제품이나 모듈에는 소급 적용하지 않습니다. 처음에 기본값을 복사하여 만든 파이프라인도 동일합니다.

기본 구성 편집

  1. Hub Settings → Release Channels & Promotion을 엽니다.
  2. 제품 또는 모듈 기본 구성의 Edit를 선택합니다.
  3. 단계를 구성하고 Confirm으로 변경 요청을 만듭니다.

기존의 빈 파이프라인에 적용

허브 관리자는 아직 파이프라인이 없는 기존 제품과 모듈에 기본 구성을 적용할 수 있습니다.

이미 파이프라인을 가진 제품들을 일괄 변경하려면 CLI의 product promotion set을 사용합니다. 기존 단계의 일부만 병합하려면 product promotion append의 충돌 처리 방식을 확인합니다.

구성과 진행 상황 확인

제품 개요에서는 제품 릴리스들이 따르는 파이프라인을 확인할 수 있습니다.

Releases에서 개별 릴리스를 선택하면 각 단계의 평가 상태와 승격 결과를 그래프로 볼 수 있습니다.

릴리스가 아직 없다면 먼저 제품 릴리스를 게시합니다. 수동으로 시험한 결과를 반영하거나 긴급히 채널에 추가하려면 수동 승격을 사용할 수 있습니다.