Pilot 애플리케이션 배포
앱 배포는 온톨로지 구현, Developer Console 앱 및 서브도메인 구성, CI와 릴리스로 진행합니다. 위젯 배포는 Widget Registry를 사용하므로 별도 경로입니다.
프로젝트, 조직과 플랫폼 인스턴스 수준 권한이 필요합니다. 보통 프로젝트 Editor, 조직의 Third-party application administrator, 도메인 승인 역할이 관련되지만 사용자 정의 역할은 다를 수 있습니다. 앱 생성 및 배포, 연결 OAuth 클라이언트 생성과 서브도메인 승인 권한을 확인합니다.
배포 전 확인
코드 변경은 저장소 기본 코드 브랜치에 병합합니다. 패널이 Deploy on과 브랜치를 표시하면 그 브랜치로 병합한 뒤 돌아옵니다.
운영 앱은 실제 온톨로지 데이터를 사용하며 컨테이너의 seed data는 배포하지 않습니다. Editor나 Deploy에서 Main의 Production data를 사용하면 액션이 즉시 운영 객체를 바꿉니다. 배포 브랜치의 객체 편집은 그 브랜치에 한정되고 Main으로 합쳐지지 않습니다.
상태 표시의 Deployability는 온톨로지 배포 시험 결과입니다. 로컬 정의를 읽을 수 없으면 Invalid Ontology가 나옵니다. Deployable이어도 Ontology 탭의 자료형 및 편집 허용 오류가 남을 수 있습니다. 의존성, 개발 서버와 CI도 별도로 확인합니다. Deployability 옆 점 세 개의 Fix with Pilot로 해당 오류를 조사하고 지속되면 대화에서 상세 오류를 설명합니다.
Deploy를 열면 다음 세 단계가 표시됩니다.
1. 온톨로지 구현
변경 없이 기존 배포 정의만 사용하면 All entities up to date on Main으로 바로 완료될 수 있습니다. 새 객체, 액션이나 링크가 있으면 Global Branching으로 기본 온톨로지에 반영합니다.
플랫폼 인스턴스에서 Global Branching이 활성화되어야 합니다. 접근 안내와 함께 Create branch가 비활성화되면 관리자에게 활성화를 요청합니다. Create branch에서 이름을 정하고 확인하면 정의를 브랜치에 반영하고 인덱싱을 시작합니다. 액션이 수정할 모든 객체 유형의 인덱싱을 기다린 뒤 시험합니다. 웹훅, 외부 호출과 알림은 별도 액션 브랜치 규칙을 적용합니다.
브랜치 생성에 실패하면 생성 오류, Deployability의 시험 오류와 Ontology 탭의 자료형 및 편집 허용 오류를 각각 조사합니다. 다른 이름으로 새 브랜치를 만드는 방법도 있습니다.
View branch로 Global Branching을 열고 Create proposal에서 이름과 선택적 설명을 적습니다. 생성 후 검사와 필요한 승인이 통과하면 Merge proposal로 Main에 반영합니다. 승인 정책은 자동 또는 권한 있는 사용자의 수동 검토일 수 있습니다. 시험 중 만든 객체 편집은 병합되지 않습니다. 완료 후 Main으로 전환하면 모든 정의가 최신으로 표시됩니다.
2. 앱과 서브도메인
Configure application and subdomain > Configure application에서 앱 이름, 조직과 사용 가능한 서브도메인을 지정합니다. 주소 형식은 <subdomain>.<enrollment>.palantirfoundry.com입니다. Create application은 Developer Console 리소스를 만들고 관련 객체 및 액션 유형을 앱 접근 제한에 포함합니다.
플랫폼 관리자가 Control Panel > Approvals에서 Foundry 도메인, 요청한 서브도메인과 호스팅 앱을 검토한 뒤 승인해야 합니다. 승인되면 도메인이 앱에 매핑됩니다. 환경에 따라 추가 보안 검토가 필요할 수 있으며 대기 중이면 관리자에게 문의합니다.
3. CI와 릴리스
Pass all CI checks에서 Generate deployment files to enable checks 또는 오래된 파일의 Update files를 선택합니다. .env.production, ci.yml, foundry.config.json과 빌드 및 설정 스크립트를 생성하고 CI를 시작합니다.
보호 코드 브랜치는 Create a branch with deployment files to enable checks 또는 Update files on a branch로 변경을 만들고 코드 제안을 검토하여 병합합니다. 대기 변경은 릴리스 전에 커밋해야 합니다.
CI가 실패하면 해당 검사 출력과 배포 파일 상태를 확인합니다. Editor에서 오류를 설명하여 수정하고 저장 및 필요한 코드 제안 병합 후 대상 커밋의 검사가 통과할 때까지 기다립니다.
Tag and release에서 브랜치 또는 커밋을 확인하고 Patch(호환 수정), Minor(추가 기능), Major(호환성을 깨는 변경) 또는 Custom을 선택하여 릴리스합니다. 태그 생성만으로 앱 가용성이 확인되지는 않습니다. 릴리스 빌드 완료를 기다리고 실패하면 View build를 확인합니다.
운영 앱 열기와 갱신
릴리스 빌드 성공과 서브도메인 승인이 모두 완료되면 View app으로 엽니다. 첫 OAuth 화면에서 필요한 온톨로지와 미디어 데이터셋 접근 요청을 검토하여 허용하면 실제 데이터 앱에 들어갑니다.
Pilot이 만든 액션의 기본 제출 조건은 생성 사용자만 허용합니다. 다른 사용자가 사용하기 전에 Ontology Manager에서 의도한 접근으로 구성합니다.
변경 후에는 Editor에서 작업하고 다시 Deploy로 이동합니다. 온톨로지 변경이 있으면 별도 배포 브랜치와 제안 병합을 완료합니다. 코드만 바꿨다면 기본 코드 브랜치에 병합하고 필요한 배포 파일을 갱신한 뒤 CI와 새 릴리스를 진행합니다.