App Hosting 및 작동 방식 이해하기

App Hosting는 일련의 복잡한 백그라운드 작업을 처리하여 매우 중요하다고 생각합니다 이 페이지에서는 작업 흐름의 주요 부분을 설명합니다. 흐름을 맞춤설정할 수 있는 지점에 대한 정보를 제공합니다. 변경할 수 있습니다.

프레임워크 지원

App Hosting는 구성이 필요 없는 웹 앱의 빌드 및 배포 지원을 제공합니다. 이러한 프레임워크로 개발되었습니다

  • Next.js 13 이상
  • Angular 17.2 이상

App Hostingpackage-lock.json 파일 또는 저장소의 다른 잠금 파일입니다. 당신이 배포 시 App Hosting가 앱을 빌드하고 실행할 수 있습니다 루트 디렉터리에서 npm install를 실행하여 package-lock.json를 만들 수 있습니다.

App Hosting 프레임워크 어댑터에는 두 가지 주요 역할이 있습니다.

  1. 소스 코드와 프레임워크별 구성 파일 (예: next.config.js)를 사용해야 앱의 구성된 동작을 이해할 수 있습니다.
  2. 앱의 빌드 명령어를 실행하여 정적 애셋을 생성하고 배포할 수 있습니다

프레임워크 어댑터는 npm run build를 사용하여 가장 잘 작동하는 Node.js 앱을 빌드합니다. 각 프레임워크의 기본 빌드 스크립트(Next.js의 경우 next build, Angular의 경우 ng build App Hosting에서 커스텀 빌드로 빌드를 시도합니다. 명령을 실행할 수 있지만 반드시 성공을 보장할 수는 없습니다.

App Hosting 저장소 통합 작동 방식

GitHub 저장소와 App Hosting 간의 중요한 연결 백엔드는 Developer Connect, Google Cloud의 연결 플랫폼 외부 DevOps 도구에 대해 알아봅니다. App Hosting 백엔드를 생성하는 동안 Developer Connect의 UI 워크플로는 Firebase GitHub 앱 이 프로세스의 주요 단계는 다음과 같습니다.

  1. Developer Connect에 Secret Manager 관리자 역할을 수행합니다 이렇게 하면 시스템이 인증 정보를 '보안 비밀'로 안전하게 저장할 수 있습니다. 인치 Cloud Secret Manager
  2. Firebase GitHub 앱에서 GitHub에 액세스할 수 있도록 승인합니다. 저장소를 사용합니다.
  3. Developer Connect는 프로젝트의 Secret Manager 저장소에 이 토큰을 수정하거나 삭제하지 마세요.

또한 App Hosting는 GitHub 검사 API와 통합되어 출시 확인 이 검사를 통해 Cloud 콘솔에서 출시 상태를 GitHub에서 확인하고 오류가 있는 경우 배포 프로세스를 디버그하세요.

Firebase 및 다른 Google 서비스와 통합

App Hosting는 빌드 및 런타임 환경을 모두 설정하므로 다음 작업을 할 수 있습니다. Google 계정으로 Firebase Admin SDK 초기화 애플리케이션 기본 사용자 인증 정보 이를 통해 백엔드는 다른 Firebase 제품과 통합할 수 있습니다.

App Hosting 백엔드 서비스 계정

빌드 중 및 런타임 시 App Hosting 백엔드는 다음을 사용하여 인증합니다. 다른 Google 서비스에 액세스할 수 있습니다 기본 서비스 계정은 이러한 목적은 App Hosting을(를) 사용 설정할 때 Firebase 프로젝트:

firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com

이 서비스 계정은 기본적으로 모든 백엔드에 적용되며 권한을 사용하여 앱을 빌드, 실행, 모니터링할 수 있습니다. 또한 다음에 대한 권한 애플리케이션 기본 사용자 인증 정보로 Admin SDK 인증 Cloud Firestore에서 데이터를 로드하는 것과 같은 작업을 실행합니다. 자세한 내용은 Firebase App Hosting 역할

앱이 빌드 시 또는 추가 Google 서비스와 상호작용해야 하는 경우 또는 실행 중인 백엔드에서 백엔드에서 실행하는 경우, 기본 서비스 계정을 역할을 추가합니다 예를 들어 앱에 Vertex AI 권한이 필요한 경우 인코더-디코더 아키텍처를 roles/aiplatform.user 드림 또는 관련 역할을 맡을 수 있습니다.

핵심 용어 및 정의

  • 백엔드: App Hosting 작업을 수행하는 관리형 리소스의 모음 웹 앱을 빌드하고 실행할 수 있습니다.
  • 출시: 서비스 중인 앱의 특정 버전으로, git 커밋에 연결됩니다.
  • 라이브 브랜치: 다음 위치에 배포되는 GitHub 저장소의 브랜치입니다. 실제 URL을 사용합니다. 특성 브랜치 또는 특성 서빙이 필요한 브랜치인 경우가 많습니다. 병합됩니다

알려진 문제 및 제한사항

App Hosting 미리보기에는 다음과 같은 알려진 제한사항이 있습니다.

  • 백엔드를 삭제할 수 없습니다.
  • 이미지 최적화를 아직 사용할 수 없습니다.
  • 경우에 따라 App Hosting 백엔드가 앱 URL에서 Intermittent connection error 메시지를 확인할 수 있습니다. 수정사항은 향후 출시 버전에서 사용할 수 있습니다.
  • Cache-Control 헤더가 CDN 캐시를 60초로 제한하도록 수정됩니다. 를 향후 App Hosting에서 캐시를 빠르게 삭제할 수 있는 경우 이 한도가 해제됩니다
  • Set-Cookie 헤더는 App Hosting 데이터 영역 향후 출시 버전에서 수정사항이 제공될 예정입니다.
  • 캐시되지 않은 정적 파일은 Cloud Run 외부에서 제공됩니다. 과녁을 맞히려는 화살의 향후 출시에서는 App Hosting 원본에서 저장되고 제공됩니다. 하여 성능을 향상할 수 있습니다.
  • App Hosting SKU가 Firebase 콘솔. 향후 출시 버전에서 사용할 수 있습니다.
  • Firebase 콘솔에 간헐적으로 'build was not found and '이(가) 잘못되었습니다.' 백엔드 생성 시 발생하는 오류입니다.
  • 현재 동일한 프로젝트의 모든 백엔드는 GitHub 조직/계정을 공유합니다. 해당 조직/계정의 다른 저장소에 연결할 수 있습니다. 다른 GitHub 계정에 연결된 백엔드를 만들려면 다음 안내를 따르세요. 별도의 프로젝트에 배치하는 것이 좋습니다
  • 현재 us-central1 리전만 지원됩니다.
  • Next.js 미들웨어, 재작성 및 리디렉션은 Cloud Run는 CDN 뒤에 있습니다. 이러한 포드는 캐시된 설정하려면 적절한 제어 지침을 할 수 있습니다.