Forge
Forge는 Cloudflare 위에서 두 가지 표면을 제공합니다:
- 리포지토리: Git 호스팅, 이슈, 풀 리퀘스트, Actions, 트랜스크립트 및 리포지토리 에이전트.
- Deploy / Sites: 정확히 푸시된 SHA가 프리뷰가 되고, 이후 프로덕션 애플리케이션이 될 수 있습니다.
Cloudflare는 런타임/프로바이더로 남아 있습니다. Forge가 요청된 대상인 경우 다른 Git 또는 호스팅 제품으로 대체하지 말고, 호스팅된 앱이 Forge 또는 Cloudflare Access 인증을 상속한다고 가정하지 마십시오.
작업 범위 유지하기
더 많은 프로세스를 로드하기 전에 요청된 결과를 분류하십시오:
- 리포지토리 작업: 일반 Git + Forge 인증 사용.
- 고객 애플리케이션 배포: Forge Deploy 및 해당 릴리스 원장 사용.
- Forge 인프라 복구: 가장 작은 정상 릴리스 경로 사용; 복구 중인 컨트롤 플레인이 자체 수정을 배포할 필요는 없습니다.
- 소스 전용, CLI, 문서, 분석 또는 UI 작업: 사용자가 배포를 요청하지 않는 한 프로덕션 릴리스 게이트를 추가하지 마십시오.
스레드 로컬 홀드 및 관련 없는 릴리스는 전역 전제 조건이 아닙니다. 요청된 작업에서 구체적인 위험을 완화하는 검사만 적용하고, 해당 결과가 입증되면 중단하십시오. 관련 없는 발견 사항은 후속 작업으로 기록하십시오.
현재 동작 파악하기
Forge는 진화 중입니다. 설치된 CLI, 대상 리포지토리, 현재 UI/API 및 Forge 소스 맵이 라우팅하는 관련 1차 소스 문서만 사용하십시오. 문서는 현재 계정 자격, 한도 또는 릴리스 상태를 입증하지 않습니다.
명령어를 구성하기 전에 구문을 검사하십시오:
sf help
sf commands --json
sf schema --json
sf <command> --help
계정, 리포지토리, 기본 브랜치 및 Deploy의 경우 프로젝트 루트를 식별하십시오. 사용자가 교체를 요청하지 않는 한 기존 GitHub 리모트를 유지하십시오.
리포지토리 인증
로그인된 Forge 브라우저는 로컬 Git 자격 증명이 아닙니다. 토큰을 노출하지 않고 Forge의 범위가 지정된 자격 증명 흐름을 사용하십시오:
sf auth status
sf auth git-credential <소유자>/<리포지토리>
git ls-remote <forge-remote> HEAD
credential.useHttpPath를 활성화된 상태로 유지하십시오. 브라우저 저장소나 다른 애플리케이션의 키체인에서 토큰을 추출하거나, 리모트, 소스, 셸 기록 또는 출력에 토큰을 넣지 마십시오. 필요한 권한 없이 강제 푸시, origin 교체, 가시성 변경 또는 자격 증명 범위를 확장하지 마십시오.
GitHub 마이그레이션의 경우 Forge의 현재 가져오기 흐름을 사용하십시오. 패키지 관리자를 유지하고 Git LFS는 별도로 처리하십시오; 기록을 가져와도 호스팅된 LFS 객체는 복사되지 않습니다.
Forge Deploy 계약
Forge는 로컬 체크아웃이 아닌 정확히 푸시된 SHA를 릴리스합니다. 소스, 빌드, 프리뷰, 프로바이더 게시, 프로덕션 활성화 및 라이브 검증은 별개의 상태입니다.
각 프로젝트는 구성된 루트에 데이터 전용 forgeBuild.ts v1이 필요합니다. 소스 맵에서 현재 매니페스트 소스를 읽은 다음 유효성을 검사하십시오:
npx smolforge deploy check
build를 생략하면 리포지토리 빌드 명령이 실행되지 않습니다.forgeBuild.ts는 정적으로 평가됩니다; 실행 가능한 구성, 동적 임포트 또는forge.yml/forge.yaml을 사용하지 마십시오.- 앱에는 HTTP 진입점, 에셋 또는 둘 다가 필요합니다. 브라우저 측 라우팅에만 SPA 폴백을 사용하십시오.
.forge/config.json은 프로젝트를 매핑하고 바인딩을 제안할 수 있습니다; 프로젝트를 생성하거나, 프로바이더 상태를 적용하거나, DNS 권한을 부여하지 않습니다.- 가져온 Wrangler 바인딩은 프로덕션 리소스를 프리뷰에 노출할 수 있습니다.
프로젝트 생성 또는 활성화, 서비스 약관 수락, 승격, 롤백, 비활성화, 라우팅 및 프로바이더 적용은 별도의 외부 상태 변경입니다. 프리뷰 URL은 비공개가 아니라 목록에 없고 noindex입니다; 절대로 비밀 또는 개인 데이터를 넣지 마십시오.
릴리스 및 복구
고객 애플리케이션에는 Forge Deploy를 사용하십시오. Forge 인프라의 경우, 정식 경로가 정상적이고 비례할 때 우선 사용하십시오. 직접 Wrangler는 해당 경로를 사용할 수 없거나, 비정상이거나, 인시던트에 연루되었거나, 제한된 복구를 실질적으로 방해하는 경우에 한해 권한이 있는 운영자 경로입니다; 고객 애플리케이션의 릴리스 원장을 우회하는 지름길이 아닙니다.
직접 인프라 복구의 경우, 정확히 하나의 구성 요소로 범위를 지정하고, 소스 SHA, 현재 및 롤백 버전, 모든 마이그레이션 또는 바인딩 변경 사항을 기록한 다음 트래픽, 상태/종속성 및 한 번의 재현을 확인하십시오. 관련 없는 프리뷰, 포트폴리오 조정, 완전한 증명 또는 동일한 구성 요소나 스키마를 변경할 수 없는 작업과의 조정을 요구하지 마십시오.
차단된 릴리스를 재시도하기 전에 마지막으로 입증된 상태와 대상 진단을 식별하십시오. 정확한 SHA, 프로젝트 루트, 브랜치 및 유효한 빌드/에셋 설정을 확인하십시오. 변경 불가능한 대상과 멱등성 조건이 명확할 때만 재시도하십시오.
참고 자료
현재 질문을 소유한 1차 문서만 로드하려면 Forge 소스 맵을 사용하십시오.