Global Branching 개요
Global Branching은 여러 Palantir 앱의 변경을 하나의 전역 브랜치에서 개발하고 검토하여 main에 병합하는 기능입니다. 이전 명칭은 Foundry Branching입니다.
운영 흐름에 바로 적용하기 어려운 변경을 별도 문맥에서 시험할 수 있습니다. 다만 일반 Foundry 자원을 브랜치에서 생성하거나 삭제하는 동작은 main에 영향을 주며 온톨로지 엔터티의 생성/변경/삭제는 예외로 격리합니다. 자원 수정과 생성/삭제를 구분해야 합니다.
함께 개발하는 예
Pipeline Builder의 파이프라인 출력 데이터셋이 온톨로지 객체 유형의 기반이라고 가정합니다. 한 브랜치에서 파이프라인의 로직과 출력 스키마를 바꾸고, 같은 브랜치의 Ontology Manager에서 그 스키마에 맞춰 객체 유형을 조정할 수 있습니다.
브랜치에서는 액션을 실행하여 결과를 시험할 수 있으며 편집을 main 데이터에 기록하지 않습니다. 시험 데이터 편집은 main으로 병합되는 정의 변경과 다릅니다. 외부 호출을 명시적으로 허용한 액션은 실제 외부 대상을 사용할 수 있으므로 액션 브랜치 조건을 확인합니다.
완성한 변경은 제안으로 검토합니다. 자원마다 필요한 검토자를 지정하고 승인 정책 및 리베이스 등의 검사를 통과한 뒤 main에 병합합니다. 병합 중 일부 자원만 성공하고 나머지는 실패할 수 있습니다.
릴리스 관리와의 차이
전역 브랜치는 같은 개발 환경에서 workflow 변경을 분리하여 만들고 시험하는 데 사용합니다. 릴리스 관리는 개발, 시험 및 운영처럼 목적이 다른 환경 사이에서 자원 버전을 배포하고 관리합니다.
두 기능을 함께 사용할 수 있습니다. 예를 들어 데이터셋과 객체 유형 스키마를 바꾸는 큰 기능을 전역 브랜치에서 개발한 뒤 개발 환경의 main에 병합하고, 그 버전을 릴리스 관리로 시험 및 운영 환경에 배포합니다.
작업 순서와 관리
- 워크플로우와 수명: 자원 변경, 제안, 리베이스, 병합과 보존/복원
- 앱별 통합: 지원 분야와 SDK/앱별 조건
- 보안: Owner, 공간 관리자와 조직 및 병합 권한
- 보호와 승인 정책: main 보호, 검토자와 기본/사용자 정의 승인
- Global Branching 앱: 브랜치 및 제안 목록, 변경 검토와 병합 이력
- 작업 표시줄: 현재 브랜치와 자원별 검사/제안 동작
브랜치 이름은 조직 접근 제한 밖의 자원에서도 보일 수 있으므로 민감한 정보를 포함하지 않습니다. 활성 상태와 보존 정책을 확인하여 비활성화된 브랜치의 데이터 및 JobSpecs 복구 조건을 관리합니다.