콘솔로 이동

Firebase CLI 참조

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

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

Firebase CLI 설치

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

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를 사용 중인 개발자

자동 설치 스크립트

Mac OS 또는 Linux를 사용 중인 경우 자동 설치 스크립트를 사용하여 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 명령어를 실행할 때 이 토큰을 사용합니다. 2가지 옵션이 있습니다.

    • 토큰을 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는 자동으로 파일 2개를 생성하여 로컬 앱 디렉터리 루트에 추가합니다.

  • 프로젝트 구성이 나열되어 있는 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 프로젝트를 로컬로 제공 및 테스트

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

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

  • Firebase 호스팅 앱의 정적 콘텐츠를 표시하려는 경우
  • Cloud Functions를 사용하여 Firebase 호스팅을 위한 동적 콘텐츠를 생성하고 프로덕션(배포된) HTTP 함수를 사용하여 로컬 URL에서 호스팅을 에뮬레이션하려는 경우
firebase serve --only hosting

로컬 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 deploy 명령어를 실행하면 프로젝트 디렉터리에 있는 모든 배포 가능한 리소스의 출시 버전이 생성됩니다. 특정 Firebase 서비스 또는 기능을 배포하려면 부분 배포를 사용합니다.

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

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

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

보안 규칙에 대한 배포 충돌

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 프로젝트를 연결할 수 있습니다. 예를 들어 스테이징 및 프로덕션 용도로 Firebase 프로젝트를 하나씩 사용해야 할 수 있습니다. 여러 프로젝트 환경을 사용하면 프로덕션에 배포하기 전 변경사항을 확인할 수 있습니다. firebase use 명령어를 사용하면 별칭을 전환하거나 새 별칭을 만들 수 있습니다.

프로젝트 별칭 추가

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

firebase use --add

이 명령어는 또 다른 Firebase 프로젝트를 선택하고 정의된 별칭을 제공하도록 안내합니다. 별칭 정의는 프로젝트 디렉터리 안의 .firebaserc 파일에 기록됩니다.

프로젝트 별칭 사용

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

명령어 설명
firebase use 프로젝트 디렉터리에 대해 현재 정의된 별칭 목록 표시
firebase use alias_or_projectID 프로젝트 디렉터리의 별칭 전환
firebase use --clear 현재 '사용된' 별칭을 지우고 모든 명령어를 default 별칭으로 전송
firebase use --unalias alias 프로젝트 디렉터리에서 별칭 삭제

별칭을 사용하는 동안에는 모든 프로젝트 관련 명령어(예: firebase deploy 또는 firebase data:get)가 현재 '사용된' Firebase 프로젝트에 대해 실행됩니다. 프로젝트 디렉터리에 별칭이 하나만 정의된 경우 모든 프로젝트 관련 명령어가 해당 별칭을 대상으로 자동 실행됩니다.

소스 관리 및 Firebase 프로젝트 별칭

일반적으로 .firebaserc 파일을 소스 관리에 체크인해야 합니다. 이렇게 하면 팀원들이 공통 프로젝트 별칭을 공유할 수 있습니다. 하지만 오픈소스 프로젝트 또는 시작용 템플릿에서는 일반적으로 .firebaserc 파일을 체크인하지 않습니다.

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

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

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

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

명령어
database:profile
database:remove
database:push
database:set
database:update
database:get

명령어 참조

관리 명령어

명령어 설명
login Firebase 계정으로 로그인합니다. 웹브라우저에 액세스할 수 있어야 합니다.
logout Firebase CLI에서 로그아웃합니다.
login:ci 비대화형 환경에서 사용할 인증 토큰을 생성합니다.
list 모든 Firebase 프로젝트의 목록을 출력합니다.
use 활성 Firebase 프로젝트를 설정하고 프로젝트 별칭을 관리합니다.
open 브라우저에서 관련 프로젝트 리소스를 빠르게 엽니다.
init 현재 디렉터리에 새 Firebase 프로젝트를 설정합니다. 이 명령어는 현재 디렉터리에 firebase.json 구성 파일을 생성합니다.
help CLI 또는 특정 명령어에 대한 도움말 정보를 표시합니다.

배포 및 로컬 개발

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

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

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

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

호스팅 명령어

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

Cloud Firestore 명령어

명령어 설명
firestore:delete Cloud Firestore에서 문서를 삭제합니다. Firebase CLI로 재귀 삭제를 사용하여 컬렉션의 모든 문서를 삭제할 수 있습니다.

Cloud Functions 명령어

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

자세한 내용은 환경 구성을 참조하세요.

사용자 관리 명령어

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