지속적인 배치 파이프라인
지속적 배포 파이프라인은 모든 증거와 변경 요청 요약 콘텐츠를 생성합니다. 파이프라인은 빌드 아티팩트를 스테이징 또는 프로덕션과 같은 환경에 배포한 다음 기존의 모든 로그 파일, 증거 및 아티팩트를 수집, 생성하여 증거 보관함에 업로드합니다.
스테이지 및 태스크
다음 표에는 CD 파이프라인에서 실행되는 작업이 나열되어 있습니다. 또한 표에서는 이러한 각 단계에 대한 개요를 제공합니다.
-
태스크 또는 스테이지: 이는
.pipeline-config.yaml구성 파일에 정의된 스테이지의 이름을 참조합니다. -
간단한 설명: 스테이지 실행 중에 수행되는 조치에 대한 간결한 설명을 제공합니다.
-
사용자 정의 허용 가능: 사용자가
.pipeline-config.yaml파일에 사용자 정의 스크립트를 삽입하여 스테이지의 기본 동작을 수정하거나 바꿀 수 있는 유연성이 있는지 여부를 표시합니다. -
기본 참조 구현: 이는 DevSecOps 파이프라인에 해당 단계에 대한 사전 정의된 구현이나 기본 구현이 제공되는지 여부를 나타냅니다. 특히,
unit-tests이나setup와 같은 특정 단계의 경우 DevSecOps 파이프라인은 즉시 사용 가능한 구현을 제공하지 않습니다. 대신 사용자는 애플리케이션의 요구사항에 맞게 조정된 사용자 정의 스크립트 또는 코드를 제공해야 합니다. -
증거 콜렉션: 스테이지가 표준 증거의 콜렉션을 수행하는지 여부를 표시합니다. DevSecOps 파이프라인이 단계에 대한 참조 구현을 제공하는 경우, 증거 수집이 바로 수행됩니다. 그러나 사용자 가 이러한 사전 정의된 스테이지를 수정하거나 대체하도록 선택하는 경우 해당 사용자 정의 구현에 적절한 증거 콜렉션이 포함되어 있는지 확인해야 합니다. DevSecOps 파이프라인이 즉시 사용 가능한 구현을 제공하지 않아 사용자가 증거 수집을 수행해야 하는 단계에서도 동일한 책임이 사용자에게 있습니다. 이 열은 증거 콜렉션 수행을 담당하는 엔티티 (사용자/파이프라인) 를 표시합니다.
-
건너뛰기 허용 가능 (버전 > = v10에 적용 가능):
.pipeline-config.yaml에서 건너뛰기 특성을 true로 설정하여 사용자가 이 단계의 실행을 옵트 아웃할 수 있는지 여부를 표시합니다. 그러나 이 기능을 사용할 때 특히 증거를 수집하도록 설계된 단계에 대해 주의해야 합니다. 이러한 단계를 건너뛰면 빌드에 대한 필수 증거가 누락될 수 있습니다.
| 태스크 또는 스테이지 | 간단한 설명 | .pipeline-config.yaml 에서 허용되는 사용자 정의 |
기본 참조 구현 | 증거 콜렉션 | 건너뛰기 허용 가능 |
|---|---|---|---|---|---|
start |
파이프라인 환경을 설정합니다. | 아니오 | 예 | 해당사항 없음 | 아니오 |
setup |
빌드 및 테스트 환경을 설정합니다. | 예 | 아니오 | 해당사항 없음 | 아니오 |
verify-peer-review |
현재 배치에 대해 의도된 가져오기 요청이 승인되었는지 확인하십시오. 이 단계에서는 진행 중인 배치에 링크된 가져오기 요청 목록을 생성합니다. 가져오기 요청이 승인되지 않은 상태로 남아 있으면 배치가 정지됩니다. | 예 | 예 | 파이프라인 | 예 |
verify-artifact |
배치를 위해 스케줄된 이미지의 올바른 서명을 유효성 검증하십시오. 이미지에 적절한 서명이 없는 경우 배치가 차단되고 해당 증거 수집 프로세스가 시작됩니다. | 예 | 예 | 파이프라인 | 예 |
change-request |
변경 요청을 생성하고 증거 요약을 작성합니다. | 아니오 | 예 | 파이프라인 | 아니오 |
deployment |
스테이징 또는 프로덕션과 같은 환경에 빌드 아티팩트를 배치합니다. | 예 | 아니오 | 해당사항 없음 | 아니오 |
acceptance-test |
배치에서 승인 및 통합 테스트를 실행합니다. | 예 | 아니오 | 사용자 | 예 |
finish |
로그 파일, 아티팩트, 증거를 수집하고 증거 라커에 업로드합니다. | 예 | 예 | 파이프라인 | 예 |
rollback |
이는 롤백 시나리오가 발생할 때마다 실행되는 prod-finish 내의 단계입니다. |
예 | 예 | 해당사항 없음 | 아니오 |
.pipeline-config.yaml 파일을 사용하여 스테이지를 사용자 지정하는 방법에 대한 자세한 내용은 사용자 지정 스크립트 및 파이프라인 매개변수 목록을 참조하세요.
배치 델타
인벤토리 프로모션이 준비되면 지속적인 배포 파이프라인을 시작할 수 있습니다. 배치 델타는 마지막으로 종료된 배치의 컨텐츠와 현재 배치의 컨텐츠 간 차이입니다. 배치 델타는 배치되는 인벤토리 항목을 나열합니다.
배치 스크립트에서 배치 델타에 액세스하기 위해 다음 명령을 사용할 수 있습니다.
# return a JSON file path with an array of inventory entries that were changed
get_env DEPLOYMENT_DELTA_PATH
# return a JSON file path with an array of inventory entries that were deleted
get_env DEPLOYMENT_DELTA_DELETIONS_PATH
# returns a JSON file path with an array of all inventory entries
get_env INVENTORY_ENTRIES_PATH
배치 BOM 계산
배치 명세서(BOM)는 단일 변경 요청의 일부로 배치된 모든 아티팩트를 표시합니다. 배치 델타가 계산된 후에 파이프라인은 이러한 항목을 기반으로 배치 BOM을 작성합니다.
증거 요약 수집
증거 요약은 배치로 이어지는 관련 빌드 중에 작성된 모든 증거를 바탕으로 작성됩니다. 배치 중에 작성된 증거도 요약에 추가됩니다. 증거 요약이 변경 요청의 설명에 추가됩니다. 기본적으로 증거 요약은 현재 CD 파이프라인 실행 중에 수집된 증거와 함께 CI 파이프라인에서 수집된 빌드 시 증거로 구성됩니다.
다음 지시사항은 프로덕션 환경을 대상으로 하는 CD 파이프라인에만 적용됩니다. target-environment-purpose 플래그를 사용하여 환경이 pre_prod 또는 production 로 지정되었는지 여부를 판별하십시오.
전제조건: pre_prod 환경을 대상으로 하는 CD 파이프라인에서 pre-prod-증거-콜렉션 플래그를 1로 설정하십시오. 이를 통해 사전 프로덕션 환경에서 배치를 수행하여 CD 파이프라인으로 배치된 모든 자산에 대한 증거 로커에서 빌드 시 증거를 수집하고 저장할 수 있습니다. 기본적으로 pre_prod로 지정된 환경의 경우 pre-prod-증거-콜렉션 플래그는 1로 설정됩니다.
프로덕션 환경을 대상으로 하는 CD 파이프라인에서 사전 prod-evidence-collection 플래그를 1 로 설정하십시오. 이를 통해 프로덕션 환경을 대상으로 하는 CD 파이프라인이 프리프로덕션 환경에 배치하는 동안 수집된 증거를 검색할 수 있습니다. 기본적으로 프로덕션으로 지정된 환경의 경우 pre-prod-evidence-collection 플래그는
0 로 설정됩니다.
pre-prod-evidence-collection 플래그가 1 로 설정되면 프로덕션 환경에서 대상으로 지정된 CD 파이프라인에 의해 생성된 변경 요청은 유효성 검증 레코드 필드 내의 사전 프로덕션 환경에서 변경 요청 ID에 대한 참조를 포함합니다.
자세한 정보는 증거 요약 을 참조하십시오.
변경 요청 준비 및 작성
기준선을 변경하는 모든 내용은 변경 요청을 통해 추적해야 합니다. 이러한 변경사항에는 기존 코드 레벨의 업데이트, 구성 변경사항, 작업자 노드의 업데이트가 포함됩니다. 피어 검토 준수 데이터의 콜렉션은 인벤토리, 증거 라커, 인시던트 문제 저장소에서 액세스할 수 있는 데이터를 기반으로 합니다.
후속 단계에서 변경 요청 ID의 값을 활용하려면 get_env CHANGE_REQUEST_ID 를 사용하십시오.
set_env 을 사용하는 변수의 값은 내부 구현 전용이므로 변경하지 마세요.
이 단계에서는 승격 가져오기 요청 필드를 기반으로 사용 가능한 규제 준수 데이터를 첨부하여 변경 요청을 작성합니다. 배치 준비는 수집된 규제 준수 상태의 사용 가능한 증거를 기반으로 계산됩니다.
프로덕션 배포에서 사전 테스트 증거가 캡처되면 사전 테스트 변경 요청이 프로덕션 변경 요청에 연결됩니다. 자세한 정보는 변경 요청에 포함된 데이터 를 참조하십시오.
전용 변경 요청 리스너를 사용하여 여러 리전, 대상 및 클러스터로의 배포를 포함한 다양한 배포 구성을 위한 다중 변경 요청을 미리 생성할 수 있습니다. 사전 생성된 변경 요청은 승인 후, 사전 계산된 정보를 활용하여 실제 배포 속도를 높이는 적시 배포 파이프라인으로 전달될 수 있습니다.
변경 요청 승인 확인
단위 테스트, 코드 위험 분석기 작업, 브랜치 보호, 비밀 탐지 등 모든 규정 준수 확인이 성공적으로 완료되면 변경 요청이 자동으로 승인되고 작업이 성공적으로 실행됩니다. 자세한 정보는 변경 관리 자동화 를 참조하십시오.
규제 준수 검사가 실패하면 변경 요청 상태가 승인되지 않습니다. 변경 요청을 수동으로 승인하고 환경 속성에 change-request-id 을 추가하여 다음 실행에서 이전에 생성한 변경 요청을 사용할 수 있습니다. 수동으로 변경 요청을 승인하고 긴급 레이블을 추가할 수도 있습니다.
배치
배포 단계에서는 파이프라인이 빌드된 아티팩트를 스테이징 또는 프로덕션과 같은 환경에 배포합니다. 이러한 스테이지의 변수 및 인증 정보는 다음 소스에서 찾을 수 있습니다.
- 파이프라인 UI의 변수(
get_env)
이러한 변수에 액세스하는 방법에 관한 자세한 정보는 사용자 정의 스크립트를 참조하십시오.
승인 테스트
자동화된 테스트 세트를 실행하여 배치에 성공했고 예상대로 작동하는지 검증할 수 있습니다. 추적성을 위해 테스트 로그에 테스트 중인 코드 레벨 또는 이미지에 대한 참조가 포함되어 있는지 확인하십시오.
변경 요청 닫기
배치에 관한 세부사항이 종료 요약 변경 태스크에 업로드된 후 태스크가 변경 요청을 닫습니다. close_category가 다음 값을 사용하여 닫기 변경 요청 태스크에 추가됩니다.
- 성공(배포 준비가 완료되고 CD 배포에 성공한 경우)
- 문제가 있는 경우 성공 (요약에 문제가 있는 경우 배치 준비가 되지 않았고 CD 배치가 응급 상황에서 발생함)
인벤토리 종료
인벤토리 종료에 관한 자세한 정보는 인벤토리를 참조하십시오.
애플리케이션 재배포
개요
인프라 변경 후 애플리케이션이 충돌하거나 예상치 못한 동작을 보일 경우, 강제 재배포를 통해 문제를 해결할 수 있습니다.
수동 CD 파이프라인 실행을 트리거할 때 기본 변경 감지 force-redeploy=true 동작을 재정의하려면 사용하십시오. 이 설정은 새로운 변경 사항이 감지되지 않더라도 파이프라인이 전체 인벤토리를 재배포하도록 지시합니다.
기본 동작 (강제 재배포 없이)
설정되지 않았거나 force-redeploy 로 설정된 false 경우, 파이프라인은 대상 환경의 인벤토리 저장소에서 새로운 변경 사항이 감지될 때만 배포됩니다.
-
CD 파이프라인이 시작되고 현재 커밋에 파이프라인 실행 ID를 태그합니다.
-
파이프라인은 해당 태그에서 대응하는 환경 브랜치의 내용을 읽습니다.
-
파이프라인은 현재 커밋과
<target-environment>_latest태그와 연결된 커밋 사이의 배포 델타를 계산합니다. -
파이프라인은 델타를 평가합니다:
- 델타가 비어 있으면 파이프라인이 중지되고 배포가 수행되지 않습니다.
- 델타에 변경 사항이 포함된 경우 파이프라인이 계속 진행됩니다.
-
파이프라인은 델타에서 식별된 변경 사항을 배포합니다.
-
배포가 성공적으로 완료된 후, 파이프라인은 새 커밋에
<target-environment>_latest태그를 추가합니다.
강제 행동 (강제 재배치 포함)
가 로 force-redeploy``true 설정되면, 파이프라인은 델타 검증을 우회하고 감지된 변경 사항과 관계없이 전체 인벤토리를 재배포합니다. 이 접근 방식은 전체 애플리케이션 상태가 배포 대상에 재적용되도록 보장합니다.
- CD 파이프라인이 시작되고 현재 커밋에 파이프라인 실행 ID를 태그합니다.
- 파이프라인은 해당 태그에서 대응하는 환경 브랜치의 내용을 읽습니다.
- 파이프라인은 배포 델타를 계산하며, 이 시나리오에서는 일반적으로 비어 있습니다.
- 해당
force-redeploy=true설정은 파이프라인이 델타 검사를 건너뛰고 진행하도록 합니다. - 파이프라인은 브랜치에서 애플리케이션 상태 전체를 재배포합니다.
- 성공적인 재배포 후, 파이프라인은 방금 배포한 커밋에
<target-environment>_latest태그를 부착합니다.
프로시저
-
새 수동 CD 파이프라인 실행을 시작합니다.
-
파이프라인 구성에서 환경
force-redeploy변수를 로 설정하십시오true. -
파이프라인을 실행하십시오.
배포 롤백
개요
롤백은 배포로 인해 불안정성, 장애 또는 규정 준수 문제가 발생할 경우 이전 배포를 되돌리고 알려진 애플리케이션 상태를 복원합니다. 롤백은 일반적으로 서비스 안정성 회복, 구성 일관성 유지 또는 규정 준수 유지를 위해 수행됩니다.
세 가지 롤백 방식이 제공되며, 각각 다른 복구 시나리오에 적합합니다:
- 전체 롤백: 변경 요청 ServiceNow ID를 참조하여 마지막으로 알려진 정상 구성을 복원합니다. 통제되고 감사 가능한 복구를 위해 권장됩니다.
- 다음을 사용하여 전체 롤백 GitOps: 인벤토리 리포지토리에서 커밋을 수동으로 되돌리면 이전 상태로 복원합니다. 제한된 준수 처리 기능으로 인해 권장되지 않습니다.
- 인라인 롤백: 실행 오류가 발생할 경우 동일한 파이프라인 실행 내에서 실패한 배포를 되돌립니다.
전체 롤백
롤백 파이프라인 개요
이 파이프라인을 사용하면 특정 ServiceNow 변경 요청 ID(예: CHG-12345)를 대상으로 지정하여 이전의 정상으로 확인된 구성으로 롤백할 수 있습니다.
이 변경 요청 ID는 성공적인 배포에 대한 고유한 북마크 역할을 하며 롤백 파이프라인에 필수 입력값입니다.
이전 배포의 변경 요청 ID는 두 가지 방법으로 확인할 수 있습니다:
- ServiceNow: 복원하려는 배포에 대한 변경 요청을 찾습니다.
- 인벤토리 저장소: 인벤토리 상태가 소스 제어에서 관리되므로, 각 배포는 커밋으로 고유하게 식별됩니다. 원하는 커밋으로 되돌리려면 해당 커밋과 연관된
CHG-***태그를 찾아 식별할 수 있습니다.
롤백 파이프라인은 다음 단계를 포함합니다:
prod-rollback-startprod-setupprod-rollback-change-requestprod-deploymentprod-acceptance-testsprod-rollback-finish
파이프라인 실행은 환경 rollback-change-request-id 속성의 정보를 사용하여 새로운 변경 요청을 생성합니다.
규정 준수를 유지하기 위해 파이프라인은 이전 배포와 연결된 이슈를 재개합니다. 이러한 이슈들은 새로운 변경 요청에 첨부되었으며, 원래 마감일은 변경되지 않습니다. 성공적인 롤백은 인벤토리 내 _latest 태그를 이전 커밋으로 이동시킵니다.
롤백 파이프라인 생성
사용하여 마지막으로 알려진 정상 cd-rollback-listener 버전으로 롤백을 실행합니다.
- CD 파이프라인으로 이동하십시오.
- 수동 트리거를 추가하거나 수동 CD 트리거 를 복제하십시오.
- 트리거를 편집하고 리스너를 로 설정하십시오
cd-rollback-listener. - 저장을 선택하십시오.
- 필요한 각 지역 및 대상 환경 조합에 대해 별도의 트리거를 생성하십시오.
롤백 파이프라인 트리거
롤백 파이프라인 실행은 다음 환경 속성을 사용합니다:
| 환경 특성 | 설명 |
|---|---|
rollback-change-request-id |
(필수) 롤백하려는 완료된 배포의 변경 요청 ID. |
rollback-limit |
롤백할 수 있는 최대 배포 횟수. 기본값은 1(마지막으로 완료된 배포)입니다. |
region |
롤백 대상 영역. |
target-environment |
롤백 대상 환경(예: 스테이지 또는 프로덕션). |
다음 기준이 충족되지 않는 한 파이프라인은 종료됩니다:
rollback-change-request-id동일한 리전 및 대상 환경에 대한 완료된 배포의 ID여야 합니다.- 해당 배포는 rollback-limit으로
rollback-change-request-id지정된 배포 횟수보다 오래되어서는 안 됩니다.
Tekton 환경 PIPELINE_NAME 속성은 실행이 배포인지 롤백인지 여부를 결정합니다.
cd-rollback-pipeline롤백의 기본값.cd-pipeline배포의 기본값.
이 속성을 사용하여 분기 논리를 사용자 정의할 수 있습니다.
전체 롤백 사용 GitOps
롤백 사용 개요 GitOps
지속적 배포 파이프라인을 사용하여 변경 사항을 특정 시점으로 되돌리는 작업을 Git 통해 이전 버전의 commit-id 인벤토리를 대상 환경에 배포하십시오.
인벤토리 저장소에서 커밋을 직접 롤백하고 변경 요청 ServiceNow ID로 롤백 파이프라인을 트리거하지 않기 때문에, 이 프로세스는 이전 규정 준수 이슈를 자동으로 재개하거나 해당 마감일을 관리하지 않습니다.
트리거되면 CD 파이프라인은 재배포를 위해 다음 단계를 완료합니다:
- 파이프라인이 시작되고 현재 커밋(되돌리기 커밋)에 파이프라인 실행 ID를 태그합니다.
- 파이프라인은 해당 태그에서 대응하는 환경 브랜치의 내용을 읽습니다.
- 파이프라인은 현재 커밋과
<target-environment>_latest태그와 연결된 커밋 사이의 배포 델타를 계산합니다. - 성공적인 배포 후, 태그는
<target-environment>_latest새로운 (되돌려진) 커밋으로 이동됩니다.
롤백 프로모션 풀 리퀘스트 생성
- 인벤토리에서 롤백하려는 배포 버전의
commit-id식별자를 확인하십시오. - 저장소 상태를 해당 커밋으로 되돌립니다.
- 되돌린 상태를 적용하기 위해 풀 리퀘스트를 생성하십시오.
다음 예시는 명령어를 git 사용하여 이 시나리오를 보여줍니다.
-
커밋 및 태그 목록을 표시하여 마지막으로 알려진 정상 상태의 커밋 ID를 찾습니다(예:
refs/tags/8)# /c/usr/devsecops/compliance-inventory (master) $ git show-ref --tags ... 83f7a87ee59185eaeac554bd3abeebfd2c1b4ad8 refs/tags/8 ... 1914a125e76aa97c497f4bd2c2f455b58cf079b8 refs/tags/prod_latest -
현재 상태 (
refs/tags/prod_latest)와 목표 상태 (refs/tags/8) 사이의 모든 커밋을 나열하십시오.# /c/usr/devsecops/compliance-inventory (master) $ git rev-list --no-merges HEAD...83f7a87ee59185eaeac554bd3abeebfd2c1b4ad8 67cc8babdff3e09c1f0e632f897798c1b5424f38 6fab5ce3d60590cd858206424ecfd7d3a8c9ceb4 ... -
인벤토리 상태를 대상 커밋(
refs/tags/8)으로 되돌립니다.# /c/usr/devsecops/compliance-inventory (master) $ git revert -n $(git rev-list --no-merges HEAD...83f7a87ee59185eaeac554bd3abeebfd2c1b4ad8) -
새 상태를 커밋합니다.
# /c/usr/devsecops/compliance-inventory (master|REVERTING) $ git commit -m "revert master to 83f7a87ee59185eaeac554bd3abeebfd2c1b4ad8" [master af82538] revert master to 83f7a87ee59185eaeac554bd3abeebfd2c1b4ad8 -
업데이트를 마스터 브랜치로 푸시하세요.
# /c/usr/devsecops/compliance-inventory (master) $ git push --set-upstream origin master ... To [https://us-south.git.cloud.ibm.com/jaunin.b/compliance-inventory.git](https://us-south.git.cloud.ibm.com/jaunin.b/compliance-inventory.git) 67cc8ba..af82538 master -> master ...
지속적 배포 파이프라인을 트리거합니다
-
롤백 승진 변경 사항에 대한 풀 리퀘스트를 생성하십시오.
-
풀 리퀘스트를 검토하고 병합합니다.
-
CD 툴체인에서 수동 CD 파이프라인 실행을 트리거하십시오.
인라인 롤백
인라인 롤백 개요
이 모드는 동일한 파이프라인 실행 컨텍스트 내에서 현재 배포를 롤백합니다. 배포 또는 인수 테스트 단계에서 오류나 장애가 발생하여 배포 시도가 실패로 표시될 때 필요합니다.
환경 rollback-enabled 속성이 로 설정되어 1 있고 배포 또는 승인 테스트 단계에서 오류가 발생하면 인라인 롤백이 자동으로 실행됩니다.
롤백이 트리거되면 CD 파이프라인은 .pipeline-config.yaml 파일에서 rollback 에 대해 정의된 세그먼트를 실행합니다. 파일에 rollback 세그먼트가 정의되지 않은 경우 기본 구현이 실행되며 롤백 스크립트를 제공하도록 요청합니다.
예시 롤백 스크립트: .pipeline-config.yaml
rollback:
image: icr.io/continuous-delivery/pipeline/pipeline-base-image:2.74
script: |
#!/usr/bin/env bash
if [[ "$PIPELINE_DEBUG" == 1 ]]; then
trap env EXIT
env
set -x
fi
source $WORKSPACE/$PIPELINE_CONFIG_REPO_PATH/scripts/deploy_setup.sh
source $WORKSPACE/$PIPELINE_CONFIG_REPO_PATH/scripts/rollback.sh
인라인 롤백 중에 설정된 속성
rollback-status롤백 단계의 상태를 나타냅니다. 가능한 값:[notRun, success, failure]rollback-exit-code롤백 단계의 종료 코드. 롤백이 실행되지 않은 경우 이 값은 비어 있습니다.default-rollback-executed기본 구현(스크립트 입력을 요청하는)이 실행된 경우truetrue로 설정합니다. 이 값은 기본적으로 비어 있습니다.pipeline-execution-status전체 파이프라인 실행 상태를 나타냅니다. 가능한 값:[successful_deployment, failed_deployment_failed_rollback, failed_deployment_successful_rollback]
배포 추적 가능
PR 또는 병합 요청이 병합되면, 시스템은 다음에 어떤 일이 일어나는지 명확하게 보여줌으로써 투명성과 추적성을 향상시킵니다. 배포 상태에 따라 PR을 자동으로 업데이트하여 이해관계자가 파이프라인 세부 정보에 액세스하지 않고도 수정 또는 기능의 진행 상황을 쉽게 추적할 수 있습니다. 이러한 간소화된 접근 방식은 투명성을 향상시킬 뿐 아니라 추적성을 촉진하여 정보를 수집하고 검증하는 데 필요한 노력을 줄여줍니다. 배포가 성공적으로
완료되면, 배포에 포함된 풀 리퀘스트에 ' deploy:{region}:{env} ' 형식의 라벨이 적용됩니다.
deployment-traceability 라는 옵트인 플래그를 사용하여 CD 파이프라인에서 이 기능을 활성화할 수 있습니다. 사용자는 필요할 때 플래그를 1 로 설정하여 배포 추적 기능을 활성화할 수 있습니다.
이 기능을 더 지원하기 위해, 사용자가 앱 저장소의 PR에 라벨을 추가하기 위해 특정 토큰을 제공하고자 하는 경우, 다음 환경 속성을 사용하여 Git 지정할 수 있습니다. Git 조회하는 순서는 다음과 같습니다:
- 저장소별 토큰에 대한 기존 환경 속성:
git-token-$repo_name-$repo_org. - 조직별 토큰을 위한 새로운 환경 속성:
git-token-$repo_org.