Firebase CLI 참조

Firebase CLI(GitHub)는 Firebase 프로젝트 관리, 조회, 배포를 위한 여러 가지 도구를 제공합니다.

Firebase CLI를 사용하기 전에 Firebase 프로젝트를 설정하세요.

CLI 설정 또는 업데이트

Firebase CLI 설치

운영체제, 숙련도 또는 사용 사례에 맞는 방법을 사용하여 Firebase CLI를 설치할 수 있습니다. CLI 설치 방법에 관계없이 동일한 기능 및 firebase 명령어에 액세스할 수 있습니다.

Windows MacOS Linux

Windows

다음 옵션 중 하나를 사용하여 Windows용 Firebase CLI를 설치할 수 있습니다.

옵션 설명 추천 대상
독립 실행형 바이너리 CLI용 독립 실행형 바이너리를 다운로드합니다. 그런 다음 실행 파일에 액세스하여 셸을 열고 firebase 명령어를 실행할 수 있습니다. 새 개발자
Node.js를 사용하지 않거나 익숙하지 않은 개발자
npm npm(노드 패키지 관리자)을 사용하여 CLI를 설치하고 디렉터리에 관계없이 사용 가능한 firebase 명령어를 사용 설정합니다. Node.js를 사용 중인 개발자

독립 실행형 바이너리

Firebase CLI용 바이너리를 다운로드하고 실행하려면 다음 단계를 따르세요.

  1. Windows용 Firebase CLI 바이너리를 다운로드합니다.

  2. 바이너리에 액세스하여 셸을 열고 firebase 명령어를 실행할 수 있습니다.

  3. 로그인하여 CLI를 테스트합니다.

npm

npm(노드 패키지 관리자)을 사용하여 Firebase CLI를 설치하려면 다음 단계를 따르세요.

  1. nvm-windows(노드 버전 관리자)를 사용하여 Node.js를 설치합니다. Node.js를 설치하면 npm 명령어 도구가 자동으로 설치됩니다.

  2. 다음 명령어를 실행하여 npm으로 Firebase CLI를 설치합니다.

    npm install -g firebase-tools

    이 명령어는 디렉터리에 관계없이 사용할 수 있는 firebase 명령어를 사용 설정합니다.

  3. 로그인하여 CLI를 테스트합니다.

Mac OS 또는 Linux

다음 옵션 중 하나를 사용하여 Mac OS 또는 Linux용 Firebase CLI를 설치할 수 있습니다.

옵션 설명 추천 대상
자동 설치 스크립트 운영체제를 자동으로 감지하고 최신 CLI 출시 버전을 다운로드한 다음 디렉터리에 관계없이 사용 가능한 firebase 명령어를 사용 설정하는 단일 명령어를 실행합니다. 새 개발자
Node.js를 사용하지 않거나 익숙하지 않은 개발자CI/CD 환경에서 자동 배포
독립 실행형 바이너리 CLI용 독립 실행형 바이너리를 다운로드합니다. 그런 다음 워크플로에 맞게 바이너리를 구성하여 실행할 수 있습니다. CLI를 사용하는 완전히 맞춤설정 가능한 워크플로
npm npm(노드 패키지 관리자)을 사용하여 CLI를 설치하고 디렉터리에 관계없이 사용 가능한 firebase 명령어를 사용 설정합니다. Node.js를 사용 중인 개발자

자동 설치 스크립트

자동 설치 스크립트를 사용하여 Firebase CLI를 설치하려면 다음 단계를 따르세요.

  1. 다음 cURL 명령어를 실행합니다.

    curl -sL firebase.tools | bash

    이 스크립트는 운영체제를 자동으로 감지하고 최신 Firebase CLI 릴리스를 다운로드한 다음 디렉터리에 관계없이 사용 가능한 firebase 명령어를 사용 설정합니다.

  2. 로그인하여 CLI를 테스트합니다.

자동 설치 스크립트에 대한 추가 예시와 세부정보는 firebase.tools의 스크립트 소스 코드를 참조하세요.

독립 실행형 바이너리

사용 중인 OS에 맞는 Firebase CLI용 바이너리를 다운로드하여 실행하려면 다음 단계를 따르세요.

  1. 사용 중인 OS에 맞는 Firebase CLI 바이너리를 다운로드합니다. Mac OS | Linux

  2. (선택사항) 디렉터리에 관계없이 사용 가능한 firebase 명령어를 설정합니다.

    1. chmod +x ./firebase_tools를 실행하여 바이너리를 실행 가능하게 만듭니다.
    2. 바이너리의 경로를 PATH에 추가합니다.
  3. 로그인하여 CLI를 테스트합니다.

npm

npm(노드 패키지 관리자)을 사용하여 Firebase CLI를 설치하려면 다음 단계를 따르세요.

  1. nvm(노드 버전 관리자)을 사용하여 Node.js를 설치합니다.
    Node.js를 설치하면 npm 명령어 도구가 자동으로 설치됩니다.

  2. 다음 명령어를 실행하여 npm으로 Firebase CLI를 설치합니다.

    npm install -g firebase-tools

    이 명령어는 디렉터리에 관계없이 사용할 수 있는 firebase 명령어를 사용 설정합니다.

  3. 로그인하여 CLI를 테스트합니다.

로그인하여 Firebase CLI 테스트

CLI를 설치한 후에는 인증해야 합니다. 그런 다음 Firebase 프로젝트를 나열하여 인증을 확인할 수 있습니다.

  1. 다음 명령어를 실행하여 Google 계정으로 Firebase에 로그인합니다.

    firebase login

    이 명령어는 로컬 머신을 Firebase에 연결하고 Firebase 프로젝트에 대한 액세스 권한을 부여합니다.

  2. Firebase 프로젝트를 나열하여 CLI가 올바르게 설치되었고 사용자 계정에 액세스하는지 테스트합니다. 다음 명령어를 실행합니다.

    firebase list

    표시된 목록은 Firebase Console에 나열된 Firebase 프로젝트와 같아야 합니다.

최신 버전으로 CLI 업데이트

일반적으로 최신 Firebase CLI 버전을 사용하는 것이 좋습니다.

CLI 버전을 업데이트하는 방법은 운영체제 및 CLI 설치 방법에 따라 다릅니다.

Windows

  • 독립 실행형 바이너리: 새 버전을 다운로드한 후 시스템에서 바꿉니다.
  • npm: npm install -g firebase-tools를 실행합니다.

Mac OS

  • 자동 설치 스크립트: curl -sL firebase.tools | bash를 실행합니다.
  • 독립 실행형 바이너리: 새 버전을 다운로드한 후 시스템에서 바꿉니다.
  • npm: npm install -g firebase-tools를 실행합니다.

Linux

  • 자동 설치 스크립트: curl -sL firebase.tools | bash를 실행합니다.
  • 독립 실행형 바이너리: 새 버전을 다운로드한 후 시스템에서 바꿉니다.
  • npm: npm install -g firebase-tools를 실행합니다.

CI 시스템과 함께 CLI 사용

Firebase CLI의 경우 인증을 완료하려면 브라우저가 필요하지만 CLI는 CI 및 기타 헤드리스 환경과 완벽하게 호환됩니다.

  1. 머신에서 브라우저를 사용하여 Firebase CLI를 설치합니다.

  2. 다음 명령어를 실행하여 로그인 프로세스를 시작합니다.

    firebase login:ci
  3. 제공된 URL을 방문한 다음 Google 계정을 사용하여 로그인합니다.

  4. 갱신 토큰을 출력합니다. 현재 CLI 세션은 영향을 받지 않습니다.

  5. 출력된 토큰을 안전하면서도 액세스 가능한 방식으로 CI 시스템에 저장합니다.

  6. firebase 명령어를 실행할 때 이 토큰을 사용합니다. 다음과 같은 두 가지 옵션 중 하나를 사용할 수 있습니다.

    • 토큰을 FIREBASE_TOKEN 환경 변수로 저장합니다. 시스템이 자동으로 토큰을 사용합니다.

    • CI 시스템에서 모든 firebase 명령어에 --token <token> 플래그를 지정하여 실행합니다.
      토큰의 로드 우선순위는 플래그, 환경 변수, 원하는 Firebase 프로젝트입니다.

Firebase 프로젝트 초기화

Firebase 프로젝트에 배포와 같이 CLI를 사용하여 수행되는 다수의 일반적인 작업에는 프로젝트 디렉터리가 필요합니다. 프로젝트 디렉터리는 firebase init 명령어를 사용하여 설정합니다. 프로젝트 디렉터리는 일반적으로 소스 관리 루트와 동일한 디렉터리이며 firebase init를 실행한 후에는 디렉터리에 firebase.json 구성 파일이 포함됩니다.

새로운 Firebase 프로젝트를 초기화하려면 앱 디렉터리 내에서 다음 명령어를 실행합니다.

firebase init

firebase init 명령어는 프로젝트 디렉터리 및 일부 Firebase 제품을 설정하는 과정을 안내합니다. 프로젝트 초기화 중 Firebase CLI에 다음 작업을 완료하라는 메시지가 표시됩니다.

  • Firebase 프로젝트에서 설정할 Firebase 제품을 선택합니다.

    그러면 선택한 제품의 특정 파일에 대한 구성을 설정하라는 메시지가 표시됩니다. 이러한 구성에 대한 자세한 내용은 특정 제품의 문서(예: 호스팅)를 참조하세요. 나중에 언제든지 firebase init를 실행하여 더 많은 Firebase 제품을 설정할 수 있습니다.

  • 기본 Firebase 프로젝트를 설정합니다.

    이 단계에서는 프로젝트 관련 명령어(예: firebase deploy)가 적합한 Firebase 프로젝트에 대해 실행되도록 현재 프로젝트 디렉터리를 Firebase 프로젝트와 연결합니다.

    또한 동일한 프로젝트 디렉터리를 여러 Firebase 프로젝트(예: 스테이징 프로젝트와 프로덕션 프로젝트)와 연결할 수도 있습니다.

초기화가 끝나면 Firebase는 로컬 앱 디렉터리의 루트에 다음 두 파일을 자동으로 생성합니다.

  • 프로젝트 구성이 나열되어 있는 firebase.json 구성 파일

  • 프로젝트 별칭을 저장하는 .firebaserc 파일

firebase.json 파일

firebase init 명령어는 프로젝트 디렉터리의 루트에 firebase.json 구성 파일을 생성합니다.

애셋을 Firebase CLI로 배포하려면 Firebase 프로젝트에 배포되는 프로젝트 디렉터리의 파일 및 설정을 지정하는 firebase.json 파일이 필요합니다. 프로젝트 디렉터리 또는 Firebase Console에서 일부 설정을 정의할 수 있으므로 잠재적인 배포 충돌이 해결되었는지 확인하세요.

대부분의 Firebase 호스팅 옵션firebase.json 파일에서 직접 구성할 수 있습니다. 하지만 Firebase CLI로 배포할 수 있는 다른 Firebase 서비스의 경우 firebase init 명령어는 해당 서비스의 설정을 정의할 수 있는 특정 파일(예: Cloud Functions의 index.js 파일)을 만듭니다. firebase.json 파일에 배포 전 또는 배포 후 후크를 설정할 수도 있습니다.

다음은 초기화 중 Firebase 호스팅, Cloud Firestore, Firebase용 Cloud Functions를 선택한 경우 기본 설정이 포함된 예시용 firebase.json 파일입니다.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint"
    ]
  }
}

프로젝트 별칭 관리

동일한 프로젝트 디렉터리에 여러 Firebase 프로젝트를 연결할 수 있습니다. 예를 들어 스테이징 및 프로덕션 용도로 Firebase 프로젝트를 하나씩 사용해야 할 수 있습니다. 여러 프로젝트 환경을 사용하면 프로덕션에 배포하기 전 변경사항을 확인할 수 있습니다. firebase use 명령어를 사용하면 별칭을 전환하거나 새 별칭을 만들 수 있습니다.

프로젝트 별칭 추가

프로젝트 초기화 중 Firebase 프로젝트를 선택하면 프로젝트의 별칭이 자동으로 default로 지정됩니다. 하지만 프로젝트 관련 명령어가 다른 Firebase 프로젝트를 대상으로 실행되면서 동일한 프로젝트 디렉터리를 사용하도록 하려면 프로젝트 디렉터리 내에서 다음 명령어를 실행합니다.

firebase use --add

이 명령어는 또 다른 Firebase 프로젝트를 선택하고 해당 프로젝트를 별칭으로 할당하도록 안내합니다. 별칭 할당은 프로젝트 디렉터리 안의 .firebaserc 파일에 기록됩니다.

프로젝트 별칭 사용

할당된 Firebase 프로젝트 별칭을 사용하려면 프로젝트 디렉터리 내에서 다음 명령어를 실행합니다.

명령어 설명
firebase use 프로젝트 디렉터리에 대해 현재 정의된 별칭 목록 보기
firebase use \
project_id_or_alias
지정된 Firebase 프로젝트를 대상으로 실행할 모든 명령어를 전송합니다.
CLI에서 이 프로젝트를 현재 '활성 프로젝트'로 사용합니다.
firebase use --clear default 별칭이 할당된 Firebase 프로젝트를 대상으로 실행할 모든 명령어를 전송합니다.
CLI에서 이 프로젝트를 현재 '활성 프로젝트'로 사용합니다.

이 명령어를 실행하는 방법은 firebase use default를 실행하는 방법과 동일합니다.

firebase use \
--unalias project_alias
프로젝트 디렉터리에서 별칭을 삭제합니다.

CLI 명령어에 --project 플래그를 전달하면 현재 활성 프로젝트로 사용 중인 프로젝트를 재정의할 수 있습니다. 예를 들어 staging 별칭을 할당한 Firebase 프로젝트를 대상으로 실행할 CLI를 설정할 수 있습니다. prod 별칭을 할당한 Firebase 프로젝트를 대상으로 단일 명령어를 실행하려면 firebase deploy --project=prod 등의 명령어를 실행하면 됩니다.

소스 관리 및 프로젝트 별칭

일반적으로 팀에서 프로젝트 별칭을 공유할 수 있도록 .firebaserc 파일을 소스 제어에 체크인해야 합니다. 하지만 오픈소스 프로젝트 또는 시작용 템플릿에서는 일반적으로 .firebaserc 파일을 체크인하지 않습니다.

자신만 사용하는 개발 프로젝트가 있는 경우 각 명령어에 --project 플래그를 전달하거나 Firebase 프로젝트에 별칭을 할당하지 않고 firebase use project_id를 실행할 수 있습니다.

Firebase 프로젝트를 로컬로 제공 및 테스트

프로덕션에 배포하기 전 로컬에서 호스팅되는 URL에서 Firebase 프로젝트를 보고 테스트할 수 있습니다. 특정 기능만 테스트하려면 firebase serve 명령어에서 플래그에 쉼표로 구분된 목록을 사용할 수 있습니다.

다음 두 작업 중 하나를 수행하려면 로컬 프로젝트 디렉터리의 루트에서 다음 명령어를 실행합니다.

firebase serve --only hosting

로컬 HTTP 함수를 사용하여 프로젝트 에뮬레이션

로컬 HTTP 함수를 사용하여 프로젝트를 에뮬레이션하려면 프로젝트 디렉터리에서 다음 명령어를 실행합니다.

  • 로컬 URL에서 테스트하기 위해 HTTP 함수 및 호스팅을 에뮬레이션하려면 다음 명령어를 사용합니다.

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • HTTP 함수만 에뮬레이션하려면 다음 명령어를 사용합니다.

    firebase serve --only functions

다른 로컬 기기에서 테스트

기본적으로 firebase servelocalhost 요청에만 응답합니다. 즉, 컴퓨터의 웹브라우저에서는 호스팅된 콘텐츠에 액세스할 수 있지만 네트워크의 다른 기기에서는 액세스할 수 없습니다. 다른 로컬 기기에서 테스트하려면 다음과 같이 --host 플래그를 사용하세요.

firebase serve --host 0.0.0.0  // accepts requests to any host

Firebase 프로젝트에 배포

Firebase CLI는 다음을 포함하여 Firebase 프로젝트에 대한 코드 및 애셋 배포를 관리합니다.

  • Firebase 호스팅 사이트의 새 버전
  • 새로운, 업데이트된 또는 기존의 Firebase용 Cloud Functions
  • Firebase 실시간 데이터베이스 규칙
  • Firebase용 Cloud Storage 규칙
  • Cloud Firestore 규칙
  • Cloud Firestore 색인

Firebase 프로젝트에 배포하려면 프로젝트 디렉터리에서 다음 명령어를 실행합니다.

firebase deploy

필요에 따라 각 배포에 주석을 추가할 수도 있습니다. 이 주석은 프로젝트의 Firebase 호스팅 페이지에 다른 배포 정보와 함께 표시됩니다. 예를 들면 다음과 같습니다.

firebase deploy -m "Deploying the best new feature ever."

firebase deploy 명령어를 사용할 때는 다음 사항에 유의하세요.

  • 프로젝트 디렉터리에서 리소스를 배포하려면 프로젝트 디렉터리에 반드시 firebase.json 파일이 포함되어 있어야 합니다. 이 파일은 firebase init 명령어로 자동 생성됩니다.

  • 기본적으로 firebase deploy 명령어를 실행하면 프로젝트 디렉터리에 있는 모든 배포 가능한 리소스의 출시 버전이 생성됩니다. 특정 Firebase 서비스 또는 기능을 배포하려면 부분 배포를 사용합니다.

보안 규칙에 대한 배포 충돌

Firebase 실시간 데이터베이스, Firebase용 Cloud Storage, Cloud Firestore의 경우 로컬 프로젝트 디렉터리 또는 Firebase Console에서 보안 규칙을 정의할 수 있습니다.

배포 충돌을 방지하기 위한 또 다른 옵션은 부분 배포를 사용하고 Firebase Console에서만 규칙을 정의하는 것입니다.

배포 할당량

매우 드물긴 하지만 Firebase 배포 작업의 속도나 양을 제한하는 할당량을 초과하는 경우가 생길 수 있습니다. 예를 들어 매우 많은 수의 함수를 배포할 때 HTTP 429 Quota 오류 메시지가 표시될 수 있습니다. 이러한 문제를 해결하려면 특정 Firebase 서비스의 부분 배포를 사용하거나 할당량 증가를 요청해 보세요. 예를 들어 사용자별 100초당 쓰기 요청이라는 할당량은 위에 설명한 Cloud Functions 429 오류를 해결하는 데 도움이 될 수 있습니다.

배포 롤백

원하는 출시 버전으로 롤백 작업을 선택하여 프로젝트의 Firebase 호스팅 페이지에서 Firebase 호스팅 배포를 롤백할 수 있습니다.

현재는 Firebase 실시간 데이터베이스, Firebase용 Cloud Storage, Cloud Firestore에 대한 보안 규칙 릴리스를 롤백할 수 없습니다.

특정 Firebase 서비스 배포

특정 Firebase 서비스 또는 기능만 배포하려면 firebase deploy 명령어에서 플래그에 쉼표로 구분된 목록을 사용할 수 있습니다. 예를 들어 다음 명령어는 Firebase 호스팅 콘텐츠 및 Cloud Storage 보안 규칙을 배포합니다.

firebase deploy --only hosting,storage

다음 표에서는 부분 배포에 사용 가능한 서비스 및 기능을 보여줍니다. 플래그의 이름은 firebase.json 구성 파일의 키에 해당합니다.

플래그 구문 배포된 서비스 또는 기능
--only hosting Firebase 호스팅 콘텐츠
--only database Firebase 실시간 데이터베이스 규칙
--only storage Firebase용 Cloud Storage 규칙
--only firestore Cloud Firestore 규칙 색인
--only firestore:rules Cloud Firestore 규칙
--only firestore:indexes Cloud Firestore 색인
--only functions Firebase용 Cloud Functions(이 플래그의 특정 버전 가능)

특정 함수 배포

함수를 배포할 때 특정 함수를 대상으로 지정할 수 있습니다. 예를 들면 다음과 같습니다.

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

또 다른 옵션은 /functions/index.js 파일에서 내보내기 그룹으로 함수를 그룹화하는 것입니다. 그룹화 함수를 사용하면 단일 명령어를 통해 여러 함수를 배포할 수 있습니다.

예를 들어 다음 함수를 작성하여 groupAgroupB를 정의할 수 있습니다.

var functions = require('firebase-functions');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

이 예시에서 별도의 functions/groupB.js 파일에는 groupB의 함수를 명확히 정의하는 추가 함수가 포함되어 있습니다. 예를 들면 다음과 같습니다.

var functions = require('firebase-functions');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

이 예시에서는 프로젝트 디렉터리에서 다음 명령어를 실행하여 모든 groupA 함수를 배포할 수 있습니다.

firebase deploy --only functions:groupA

또는 다음 명령어를 실행하여 그룹 내에서 특정 함수를 대상으로 지정할 수 있습니다.

firebase deploy --only functions:groupA.function1,groupB.function4

함수 삭제

Firebase CLI는 이전에 배포된 함수를 삭제하기 위한 다음 명령어 및 옵션을 지원합니다.

  • 모든 리전에서 지정된 이름과 일치하는 모든 함수를 삭제합니다.

    firebase functions:delete function1-name

  • 기본이 아닌 리전에서 실행 중인 지정된 함수를 삭제합니다.

    firebase functions:delete function1-name --region region-name

  • 2개 이상의 함수를 삭제합니다.

    firebase functions:delete function1-name function2-name

  • 지정된 함수 그룹을 삭제합니다.

    firebase functions:delete group-name

  • 확인 프롬프트를 우회합니다.

    firebase functions:delete function1-name --force

배포 전 및 배포 후 스크립트 작업 설정

셸 스크립트를 firebase deploy 명령어에 연결하여 배포 전 또는 배포 후 작업을 수행할 수 있습니다. 예를 들어 배포 전 스크립트로 TypeScript 코드를 자바스크립트로 트랜스파일하고, 배포 후 후크를 통해 새 사이트 콘텐츠를 Firebase 호스팅에 배포함을 관리자에게 알릴 수 있습니다.

배포 전 또는 배포 후 후크를 설정하려면 bash 스크립트를 firebase.json 구성 파일에 추가합니다. firebase.json 파일에 짧은 스크립트를 직접 정의하거나 프로젝트 디렉터리에 있는 다른 파일을 참조할 수 있습니다.

예를 들어 다음 스크립트는 Firebase 호스팅에 배포를 성공한 후 Slack 메시지를 전송하는 배포 후 작업의 firebase.json 표현식입니다.

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

messageSlack.sh 스크립트 파일은 프로젝트 디렉터리에 있고 다음과 같이 표시됩니다.

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://Slack-Webhook-URL

배포할 수 있는 애셋 모두에 predeploypostdeploy 후크를 설정할 수 있습니다. firebase deploy를 실행하면 firebase.json 파일에 정의된 모든 배포 전 및 배포 후 작업이 트리거됩니다. 특정 Firebase 서비스와 연관된 작업만 실행하려면 부분 배포 명령어를 사용합니다.

predeploypostdeploy 후크 모두 스크립트의 표준 출력 및 오류 스트림을 터미널에 출력합니다. 오류 사례는 다음을 참조하세요.

  • 배포 전 후크가 예상대로 완료되지 않으면 배포가 취소됩니다.
  • 어떤 이유로든 배포에 실패하면 배포 후 후크가 트리거되지 않습니다.

환경 변수

배포 전 및 배포 후 후크에서 실행되는 스크립트 내에서는 다음 환경 변수를 사용할 수 있습니다.

  • $GCLOUD_PROJECT: 활성 프로젝트의 프로젝트 ID
  • $PROJECT_DIR: firebase.json 파일을 포함하는 루트 디렉터리
  • $RESOURCE_DIR: (hostingfunctions 스크립트에만 해당) 배포할 호스팅 또는 Cloud Functions 리소스가 포함된 디렉터리의 위치

여러 개의 실시간 데이터베이스 인스턴스 관리

프로젝트 하나에 여러 개의 Firebase 실시간 데이터베이스 인스턴스가 있는 경우 --instance instance-name 옵션을 사용하여 기본이 아닌 데이터베이스 인스턴스 instance-name.firebaseio.com과 상호작용합니다.

다음 명령어는 --instance 옵션을 지원합니다.

  • database:get
  • database:profile
  • database:push
  • database:remove
  • database:set
  • database:update

명령어 참조

CLI 관리 명령어

명령어 설명
help CLI 또는 특정 명령어에 대한 도움말 정보를 표시합니다.
init 현재 디렉터리에 새 Firebase 프로젝트를 연결하고 설정합니다. 이 명령어는 현재 디렉터리에 firebase.json 구성 파일을 생성합니다.
list 지원이 중단되었습니다. projects:list를 대신 사용하세요.
액세스 권한이 있는 모든 Firebase 프로젝트를 나열합니다.
login Firebase 계정에 대해 CLI를 인증합니다. 웹브라우저에 액세스할 수 있어야 합니다.
login:ci 비대화형 환경에서 사용할 인증 토큰을 생성합니다.
logout Firebase 계정에서 CLI를 로그아웃 처리합니다.
open 브라우저를 열어 관련 프로젝트 리소스를 엽니다.
projects:list 액세스 권한이 있는 모든 Firebase 프로젝트를 나열합니다.
use CLI의 활성 Firebase 프로젝트를 설정합니다.
프로젝트 별칭을 관리합니다.

프로젝트 관리 명령어

명령어 설명
apps:create 활성 프로젝트에 새 Firebase 앱을 만듭니다.
apps:list 활성 프로젝트에 등록된 Firebase 앱을 나열합니다.
apps:sdkconfig Firebase 앱의 Google 서비스 구성을 출력합니다.
projects:addfirebase Firebase 리소스를 기존 Google Cloud Platform(GCP) 프로젝트에 추가합니다.
projects:create 새 Google Cloud Platform(GCP) 프로젝트를 만든 다음 Firebase 리소스를 새 프로젝트에 추가합니다.
projects:list 액세스 권한이 있는 모든 Firebase 프로젝트를 나열합니다.
setup:web 지원이 중단되었습니다. apps:sdkconfig를 대신 사용하고 플랫폼 인수로 web을 지정하세요.
Firebase 웹 앱의 Google 서비스 구성을 출력합니다.

배포 및 로컬 개발

Firebase 호스팅 사이트를 배포하고 상호작용하는 명령어입니다.

명령어 설명
deploy 프로젝트 디렉터리에서 활성 프로젝트로 코드 및 애셋을 배포합니다. Firebase 호스팅의 경우 firebase.json 구성 파일이 필요합니다.
serve Firebase 호스팅 구성을 사용하여 로컬 웹 서버를 시작합니다. Firebase 호스팅의 경우 firebase.json 구성 파일이 필요합니다.

앱 배포 명령어

명령어 설명
appdistribution:distribute \
--app firebase-app-id
테스터가 빌드를 사용할 수 있도록 합니다.

인증(사용자 관리) 명령어

명령어 설명
auth:export 활성 프로젝트의 사용자 계정을 JSON 또는 CSV 파일로 내보냅니다. 자세한 내용은 auth:import 및 auth:export 페이지를 참조하세요.
auth:import 사용자 계정을 JSON 또는 CSV 파일에서 활성 프로젝트로 가져옵니다. 자세한 내용은 auth:import 및 auth:export 페이지를 참조하세요.

Cloud Firestore 명령어

명령어 설명
firestore:delete 활성 프로젝트의 데이터베이스에서 문서를 삭제합니다. CLI를 사용하면 컬렉션의 모든 문서를 재귀적으로 삭제할 수 있습니다.

Firebase용 Cloud Functions 명령어

명령어 설명
functions:config:clone 다른 프로젝트의 환경을 활성 Firebase 프로젝트로 클론합니다.
functions:config:get 현재 프로젝트의 Cloud Functions 기존 구성 값을 검색합니다.
functions:config:set 활성 프로젝트의 Cloud Functions 런타임 구성 값을 저장합니다.
functions:config:unset 활성 프로젝트의 런타임 구성에서 값을 삭제합니다.
functions:log 배포된 Cloud Functions에서 로그를 읽습니다.

자세한 내용은 환경 구성 문서를 참조하세요.

Extensions 명령어

명령어 설명
ext Firebase Extensions 명령어를 사용하는 방법에 대한 정보를 표시합니다.
활성 프로젝트에 설치된 확장 프로그램을 나열합니다.
ext:configure \
extension-instance-id
워크플로를 실행하여 설치된 확장 프로그램의 매개변수 값을 다시 구성합니다.
ext:info \
extension-name
공식 Firebase 확장 프로그램에 대한 자세한 정보를 출력합니다.
ext:install \
extension-name
Firebase 프로젝트에 공식 Firebase 확장 프로그램을 설치하는 워크플로를 시작합니다.
ext:list Firebase 프로젝트에 설치된 모든 확장 프로그램을 나열합니다.
각 확장 프로그램의 확장 프로그램 인스턴스 ID를 출력합니다.
ext:uninstall \
extension-instance-id
Firebase 프로젝트에서 확장 프로그램을 제거합니다.
ext:update \
extension-instance-id
설치된 확장 프로그램을 최신 버전으로 업데이트하는 워크플로를 시작합니다.

호스팅 명령어

명령어 설명
hosting:disable 활성 Firebase 프로젝트에서 Firebase 호스팅 트래픽 제공을 중지합니다. 이 명령어를 실행하면 프로젝트의 호스팅 URL에서 '사이트를 찾을 수 없습니다' 메시지가 표시됩니다.

실시간 데이터베이스 명령어

명령어 설명
database:get 활성 프로젝트의 데이터베이스에서 데이터를 가져오고 JSON으로 표시합니다. 인덱싱된 데이터에 대한 쿼리를 지원합니다.
database:profile 활성 프로젝트의 데이터베이스에 대한 작업 프로필을 작성합니다. 자세한 내용은 실시간 데이터베이스 작업 유형을 참조하세요.
database:push 활성 프로젝트의 데이터베이스에서 지정된 위치의 목록에 새 데이터를 내보냅니다. 파일, STDIN 또는 명령줄 인수에서 입력을 취합니다.
database:remove 활성 프로젝트의 데이터베이스에서 지정된 위치의 모든 데이터를 삭제합니다.
database:set 활성 프로젝트의 데이터베이스에서 지정된 위치의 모든 데이터를 바꿉니다. 파일, STDIN 또는 명령줄 인수에서 입력을 취합니다.
database:update 활성 프로젝트의 데이터베이스에서 지정된 위치에 부분 업데이트를 수행합니다. 파일, STDIN 또는 명령줄 인수에서 입력을 취합니다.