이 페이지에서는 Code Repositories의 다양한 브랜치 설정을 안내합니다:
브랜치가 둘 이상인 Code Repositories에서 기본 브랜치를 기본 브랜치로 설정할 수 있습니다. 기본적으로 모든 풀 리퀘스트와 커밋은 그 브랜치에 대해 이루어지며, 다른 브랜치를 선택하지 않는 한 그렇게 됩니다. 보통 기본 브랜치는 master
브랜치입니다.
설정 > 브랜치 > 기본 브랜치
로 이동하여 Code Repositories의 주 브랜치를 선택할 수 있습니다.
풀 리퀘스트에서 제안된 코드 변경을 병합하는 데 여러 가지 전략이 있습니다. 설정 탭에서 풀 리퀘스트 페이지에서 코드 작성자가 사용할 수 있는 하나 이상의 병합 모드를 선택할 수 있습니다.
선택한 모든 병합 모드는 풀 리퀘스트 페이지에서 옵션으로 나타납니다. "Squash-and-merge" 모드가 선택되면 메인 옵션으로 나타나며, 다른 선택된 모드는 메뉴에서 사용할 수 있습니다.
여러 작성자가 동일한 Code Repositories에 기여하거나 저장소가 중요한 데이터 에셋을 백업하는 경우, 브랜치를 보호하여 더 높은 수준의 거버넌스와 의도하지 않은 변경에 대한 방어를 달성할 수 있습니다. 보호된 브랜치는 풀 리퀘스트를 통해서만 수정할 수 있으며, 사전에 정의된 요구 사항 집합을 충족해야 합니다.
기본적으로 Code Repositories의 소유자만 브랜치 보호 설정을 변경할 수 있으며, 소유자와 에디터 모두 보호된 브랜치로 풀 리퀘스트를 병합할 수 있습니다. 권한에 관계없이 모든 코드 작성자는 보호된 브랜치 정책을 준수해야 합니다.
브랜치 설정 패널에서 다음 요구 사항을 설정할 수 있습니다:
데이터에 대한 변경 사항을 게시하기 위해 ci/foundry-publish
의 지속적인 통합 프로세스가 실행되고 성공적으로 완료되어야 합니다. 성공적으로 완료되기 전에 변경 사항을 병합하면 변경 사항이 적용될 것이라는 보장이 없으므로 이를 보호된 브랜치의 요구 사항으로 설정하는 것이 매우 권장됩니다.
중요한 브랜치를 보호하는 이점 중 하나는 프로덕션 환경에 병합하기 전에 협업자의 코드 변경 리뷰를 받을 수 있는 능력입니다. 변경 사항을 병합할 수 있는 권한이 있는 모든 사람이 리포지토리의 소유자나 에디터일 경우 풀 리퀘스트에 리뷰를 제출할 수 있습니다.
다음 리뷰 정책을 강제 적용할 수 있습니다:
풀 리퀘스트가 병합될 수 있도록 특정 사용자 또는 그룹의 승인을 요구할 수 있습니다. 그룹 요구 사항을 충족시키려면 그룹의 적어도 한 명의 멤버가 풀 리퀘스트를 승인해야 합니다. 단독으로 이 정책은 승인이 받아진 경우 거절을 허용합니다. 예를 들어, 그룹의 한 멤버가 변경 사항을 거부하고 다른 멤버가 승인한 경우, "거절 없음 요구" 정책이 적용되지 않는 한 승인이 거절을 대체합니다.
사용자/그룹의 승인을 요구하는 것은 그들에게 풀 리퀘스트를 검토할 권한을 주는 것이 아닙니다. 항상 필요한 리뷰어들이 Code Repositories에 접근 권한이 있는지 확인하세요.
고급 풀 리퀘스트 승인 정책은 풀 리퀘스트에서 수정된 파일을 기준으로 리뷰가 필요한 사용자와 그룹을 결정합니다. 보호된 브랜치의 브랜치 설정에서 편집하기를 선택한 다음 고급 승인 정책을 선택하여 정책을 설정하기 시작합니다.
정책 편집 탭은 양식 기반의 에디터를 제공합니다. 고급 승인 정책은 ALL
또는 ANY
와 같은 규칙의 논리 연산자 그룹입니다. 규칙을 선택하여 규칙의 이름이나 설명과 같은 메타데이터를 제공합니다. Rule applies conditionally를 토글하여 풀 리퀘스트에서 수정된 파일이 일부 정규 표현식과 일치하는 경우에만 이 규칙을 적용합니다.
View YAML 탭에서는 정책의 YAML 표현을 직접 수정, 복사, 붙여넣기 할 수 있습니다. 이는 정책에 대한 대량 편집을 하는 데 유용할 수 있습니다. 예를 들어, 검색어를 찾아서 교체하는 것과 같은 작업입니다.
브랜치에서 보안 마킹의 전파를 중지하려면, 브랜치는 보호되어야 합니다. 보안 변경 사항이 저장소에서 활성화되면, 자동으로 보안 검사와 승인 (필요한 경우)을 불변하게 요구하여 풀 리퀘스트를 병합하기 전에 이를 요구하게 됩니다. 상속된 마킹 제거에 대해 더 자세히 알아보세요.
Code Repositories를 사용하면 어떤 브랜치에서든 데이터셋을 빌드하고 변환 작업이 데이터에 미치는 영향을 확인할 수 있습니다. 현재 브랜치에서 빌드되지 않은 입력 데이터셋이 변환 작업에 사용되면, 대신 폴백 브랜치 목록에서 빌드된 버전을 찾으려고 시도합니다. 기본 브랜치는 다르게 설정하지 않는 한 자동으로 폴백 브랜치로 설정됩니다. 필요한 경우 각 브랜치에 다른 폴백 브랜치를 설정하고 둘 이상의 폴백을 가질 수 있습니다.
이 설정은 설정된 Code Repositories에서 빌드와 액션에만 적용됩니다. 다른 Foundry 애플리케이션 또는 저장소 외부에서 트리거된 빌드에는 영향을 미치지 않습니다. (예를 들어, 스케줄된 빌드를 사용하는 경우)