Fabric에 Fabric 앱 배포

로그인하고 CLI 배포 흐름을 실행한 다음 npx rayfin up가 앱에 대해 무엇을 구성하는지 검토하여 Fabric에 Fabric 앱을 배포합니다. 이 문서에서는 배포 중에 발생하는 작업의 개념을 안내합니다.

사전 요구 사항

  • rayfin/rayfin.yml 구성 파일이 있는 Fabric Apps 프로젝트입니다. 아직 프로젝트가 없는 경우 첫 번째 Fabric 앱 프로젝트 만들기를 참조하세요.
  • Fabric 작업 영역에 액세스할 수 있는 Microsoft Entra ID 계정입니다.

응용 프로그램 배포

프로젝트 루트에서 다음 명령을 실행합니다.

npx rayfin up

로그인하지 않은 경우 CLI는 대화형 로그인 흐름을 자동으로 시작합니다.

배포에서 수행하는 기능

rayfin up 명령은 다음 단계를 순서대로 수행합니다.

  1. Fabric 작업 영역에 Fabric 앱 항목을 만들거나 후속 배포에서 기존 항목을 다시 사용합니다.
  2. 원격 서비스에서 게시 가능한 키를 검색합니다.
  3. 인증 구성 및 서비스 플래그를 포함하여 런타임 설정을 rayfin.yml 원격 서비스로 동기화합니다.
  4. TypeScript 데이터 모델 데코레이터에서 생성된 데이터베이스 스키마를 적용합니다.
  5. rayfin.yml에서 staticHosting가 활성화된 경우 정적 콘텐츠를 빌드하고 배포합니다. 즉, 빌드 명령을 실행하고 출력 폴더를 ZIP 파일로 패키징한 다음 업로드합니다.
  6. 후속 배포에 rayfin.yml 대한 배포 세부 정보 및 .env.fabric-* 파일을 유지합니다.

배포 후 CLI는 다음을 출력합니다.

  • 앱이 라이브 상태인 호스팅 URL
  • 배포를 관리하는 Fabric 포털 링크
  • 참조용 배포 ID

인증 구성

배포된 애플리케이션에서 Fabric 조정된 인증(Entra SSO)만 지원됩니다. 메일 및 암호 인증은 로컬 개발 중에 사용할 수 있지만 Fabric 배포한 후에는 작동하지 않습니다.

rayfin.yml 실행하기 전에 rayfin up Fabric 인증을 사용하도록 설정했는지 확인합니다.

services:
  auth:
    enabled: true
    fabric:
      enabled: true

변경 없이 배포 미리 보기

리소스를 만들거나 수정하지 않고 CLI에서 수행할 작업을 확인하는 데 사용합니다 --dry-run .

npx rayfin up --dry-run

데이터베이스 변경 내용 적용

데이터 모델을 업데이트한 후 전체 스택을 다시 배포하지 않고 원격 데이터베이스에 스키마 변경 내용을 푸시합니다.

npx rayfin up db apply

스키마 변경에 잠재적으로 파괴적인 작업(열 삭제, 테이블 이름 바꾸기)이 포함된 경우 CLI는 경고하고 진행을 거부합니다. 안전 검사를 무시하려면 --force을(를) 사용하세요:

npx rayfin up db apply --force

Caution

사용하면 --force 데이터가 손실될 수 있습니다. 나열된 작업을 신중하게 검토하고 계속하기 전에 결과를 수락했는지 확인합니다.

정적 콘텐츠 다시 배포

프런트 엔드 코드만 변경한 경우 더 빠른 반복 주기를 위해 정적 콘텐츠를 독립적으로 다시 배포합니다.

npx rayfin up staticapp deploy

이 명령은 구성된 buildCommand작업을 실행하고 출력을 패키지한 다음 원격 서비스에 업로드합니다.

빌드 단계를 건너뛰고 기존 출력을 배포하려면 다음을 수행합니다.

npx rayfin up staticapp deploy --skip-build

배포 상태 확인

Fabric 배포의 현재 상태를 확인합니다.

npx rayfin up status

기계가 읽을 수 있는 출력을 위해 --json을 추가합니다:

npx rayfin up status --json

기존 배포 업데이트

첫 번째 배포 rayfin.yml 후에 배포 세부 정보(rayfinItemIdfabricWorkspaceId및 항목 엔드포인트)를 저장합니다. 다시 실행 npx rayfin up 하면 새 배포를 만드는 대신 동일한 배포가 업데이트됩니다.

대상 업데이트의 경우 다음 하위 명령을 사용합니다.

Command 업데이트 내용
npx rayfin up 모든 항목: 설정, 데이터베이스 및 정적 콘텐츠.
npx rayfin up db apply 데이터베이스 스키마만 해당합니다.
npx rayfin up staticapp deploy 정적 콘텐츠만 해당합니다.

배포 문제 해결

401 또는 403 오류로 배포 실패

세션이 만료되었을 수 있습니다. 실행 npx rayfin login 하여 다시 인증한 다음 다시 시도합니다 npx rayfin up.

데이터베이스 적용 시 파괴적 변경 사항이 보고됩니다

Rayfin CLI는 데이터 손실을 일으킬 수 있는 스키마 변경을 차단합니다. 나열된 작업을 검토하고 데이터 손실을 수락했는지 확인한 후에만 사용합니다 npx rayfin up db apply --force .

정적 배포가 크기 제한을 초과합니다.

압축된 보관 파일은 100MB를 초과하면 안됩니다. 원본 맵 및 대규모 개발 자산을 제외하여 빌드 출력을 최적화하거나 이진 파일을 Fabric Apps 스토리지로 이동합니다.

Fabric 포털에서 앱 관리

배포 후에는 Fabric 앱을 Fabric 포털 직접 관리할 수 있습니다.

항목 속성 보기

Fabric 포털에서 Fabric 앱을 열어 다음을 확인합니다.

  • 앱 URL - 정적 콘텐츠가 호스트되는 공용 URL입니다.
  • 앱 백 엔드 URL - 모든 백 엔드 서비스의 기본 URL입니다.

자식 서비스 관리

Fabric 앱을 선택하여 해당 자식 서비스를 확인합니다.

  • SQL Database - Fabric SQL 쿼리 편집기를 엽니다. 데이터에 대해 읽기 쿼리를 실행할 수 있습니다. Fabric 포털에서 직접 수행한 스키마 변경 내용은 다음 rayfin up 배포에서 덮어씁니다.
  • 인증 - 자식 SQL Database의 사용자 테이블에서 인증된 사용자를 보고 관리합니다.

앱 사용 권한

Fabric 앱의 참가자는 Fabric 앱을 배포하려면 항목에 대한 최소 Edit 권한이 필요합니다.