편집 화면, 브랜치와 코드 검토
Code Repositories의 위쪽 탭은 Code, Branches, Tags, Pull requests, Checks와 Settings로 구성됩니다. Code는 작성 중인 파일을 편집하고 나머지 탭은 버전, 검토와 저장소 설정을 관리합니다.
Code 화면
도움말 버튼은 핵심 기능의 단계별 안내를 엽니다. 이 안내는 Code 화면에서만 제공됩니다. 명령 팔레트는 Windows의 F1, macOS의 Fn+F1로 열어 단축키를 찾습니다.
작업 브랜치
드롭다운에서 기존 sandbox 브랜치를 선택하거나 새 브랜치 아이콘으로 기존 브랜치의 코드를 복사합니다. 보호된 브랜치는 직접 편집하지 않고 작업 브랜치에서 변경합니다.
저장소에 한정된 Code Repositories branch와 여러 애플리케이션을 포함하는 Global branch를 선택할 수 있습니다. Global branch를 지원하는 유형은 Python transforms, TypeScript v1 및 v2 Functions, Python Functions, Global Branching을 구성한 OSDK React 애플리케이션입니다.
Global branch는 저장소의 기본 브랜치에서 시작해야 합니다. Code Repositories branch는 어느 브랜치에서든 만들 수 있습니다.
작성 도구
| 작업 | 동작 |
|---|---|
| Preview | 입력 샘플로 변환을 실행하여 결과를 미리봅니다. |
| Test | 현재 파일에 정의한 모든 단위 테스트를 실행합니다. |
| Commit | 작업 브랜치의 변경을 commit하고 자동 checks를 실행합니다. |
| Build | 현재 변환 소스 파일이 만드는 모든 출력 데이터셋을 빌드하며 자동 checks를 거칩니다. 파일에 출력이 없으면 빌드를 시작하지 않습니다. |
| Propose changes | 다른 사용자가 검토할 pull request를 만듭니다. |
| ... > Merge | 다른 브랜치의 변경을 현재 브랜치로 병합합니다. |
| ... > Reset | 모든 파일을 원격 브랜치의 최신 commit과 같게 되돌리며 commit하지 않은 변경을 없앱니다. |
| ... > Upgrade | 브랜치의 언어 및 관련 패키지를 최신 지원 버전으로 갱신하는 경로를 엽니다. |
새 파일 아이콘으로 파일이나 폴더를 만들 수 있습니다. New sub-project는 다른 언어용 하위 프로젝트를 추가합니다.
Helper 패널
| 패널 | 용도 |
|---|---|
| Foundry Explorer | 플랫폼의 파일과 폴더를 탐색합니다. 데이터셋의 Open으로 전체 데이터를 엽니다. |
| Problems | 코드에서 발견한 문제를 보여 주고 해당 위치로 이동합니다. |
| Debugger | Python 변환의 실행을 중단점에서 살펴봅니다. |
| Preview | Commit하지 않은 코드도 입력 샘플로 실행합니다. |
| Tests | 발견한 단위 테스트를 실행하고 결과를 보여 줍니다. |
| File Changes | 현재 파일의 commit 전 변경과 이전 버전을 비교합니다. |
| Build | 데이터셋 빌드를 시작하고 작업 진행을 봅니다. 위쪽 Build 버튼과 같은 경로입니다. |
| Docs | 지원 언어의 내장 참조를 제공합니다. |
| SQL Scratchpad | SQL을 입력하거나 저장소의 SQL 파일을 선택하여 결과를 미리봅니다. |
SQL Scratchpad에서 특정 입력 브랜치를 읽으려면 데이터셋 경로 앞에 브랜치를 지정합니다. 다음 예시는 branch_A에 있는 가상 데이터셋을 대상으로 합니다.
SELECT * FROM `branch_A`.`/Example Project/Input dataset`
브랜치를 지정하지 않은 Scratchpad 조회는 master를 기본으로 사용합니다. SQL helper의 즐겨찾기 탭과 이력 탭에서 저장한 조회 및 실행한 조회를 볼 수 있습니다.
상태 표시줄
Code Assist는 문제 감지와 Preview에 필요합니다. 초기화 중에는 상태에 마우스를 올려 진행을 확인할 수 있습니다. Code Assist 없이 텍스트를 작성할 수는 있지만 해당 지원 기능을 사용하려면 정상 시작해야 하며 초기화 실패가 지속되면 지원 요청을 제출합니다.
Problems 표시를 선택하면 문제 패널이 열립니다. 오른쪽에는 checks 상태가 나타나며, 파일을 바꿀 때는 자동 저장 진행 상태도 표시됩니다.
Branches
자신과 다른 사용자의 브랜치 목록을 볼 수 있습니다. New branch로 특정 브랜치의 코드를 복사합니다.
Checks 열은 자동 검사 결과를, Pull request 열은 관련 검토 상태를 보여 줍니다. Propose changes로 제안을 만들며 기본 대상은 일반적으로 master인 기본 브랜치입니다. 다른 대상으로 병합하려면 드롭다운에서 바꿉니다.
생성 버튼이 없으면 해당 브랜치의 pull request가 이미 있는지 확인합니다. Open, Closed 또는 Merged를 선택하여 기존 제안을 엽니다. View code는 해당 브랜치의 코드를 보여 줍니다.
휴지통 아이콘은 브랜치를 삭제합니다. 다른 사용자가 만든 브랜치를 삭제하면 그 사용자의 작업을 잃을 수 있으므로 자신의 작업 범위를 벗어난 브랜치를 삭제하지 않습니다.
Tags
태그는 특정 버전을 고정해 참조하는 표식입니다. New tag에서 브랜치의 현재 버전 또는 임의의 commit을 골라 버전 번호나 이름을 붙입니다.
태그 이름 규칙은 저장소 루트 repoSettings.json의 tagNameValidation으로 설정할 수 있습니다. 이 설정에는 이름을 검사할 regex와 실패 시 보여 줄 errorMessage가 필요합니다.
Pull requests
변경 이력을 검토하고 줄 단위 댓글을 남긴 뒤 기본 브랜치로 병합하는 화면입니다. New pull request에서 원천과 대상 브랜치를 고릅니다. 대상은 기본 브랜치이며 일반적인 저장소에서는 master입니다.
Open 및 Closed로 목록을 바꾸고 제목이나 작성자로 검색합니다.
저장소 정책에 따라 병합 전에 하나 이상의 승인 review가 필요할 수 있습니다. Transforms 변경은 코드뿐 아니라 출력 데이터의 영향도 비교할 수 있습니다.
Checks
브랜치별로 실행 중이거나 완료된 검사를 봅니다. 위쪽 드롭다운으로 브랜치를 바꾸고 개별 검사를 열면 상세 결과가 표시됩니다. 저장소에 정의한 Python 및 Java 단위 테스트 결과도 포함됩니다.
AIP가 활성화되어 있으면 실패한 검사에 error enhancer가 표시되어 오류 설명과 가능한 수정을 제공합니다.
Settings
코드 작성자는 개인 편집기 환경을 조정하고 저장소 관리자는 동작과 정책을 구성합니다. 대부분의 관리 항목은 필요한 권한을 가진 사용자에게만 나타나며 기본 역할에서는 저장소 Owner가 해당합니다.