These are the Firebase Command Line Interface (CLI) Tools. They can be used to:
- Deploy code and assets to your Firebase projects
- Run a local web server for your Firebase Hosting site
- Interact with data in your Firebase database
To get started with the Firebase CLI, read the full list of commands below or check out the hosting-specific CLI documentation.
To install the Firebase CLI, you first need to sign up for a Firebase account.
Once npm is installed, get the Firebase CLI by running the following command:
npm install -g firebase-tools
This will provide you with the globally accessible
firebase --help lists the available commands and
firebase <command> --help shows more details for an individual command.
If a command is project-specific, you must either be inside a project directory with an
active project alias or specify the Firebase project id with the
-P <project_id> flag.
Below is a brief list of the available commands and their function:
|login||Authenticate to your Firebase account. Requires access to a web browser.|
|logout||Sign out of the Firebase CLI.|
|login:ci||Generate an authentication token for use in non-interactive environments.|
|list||Print a list of all of your Firebase projects.|
|use||Set active Firebase project, manage project aliases.|
|open||Quickly open a browser to relevant project resources.|
|init||Setup a new Firebase project in the current directory. This command will create a
|help||Display help information about the CLI or specific commands.|
Deployment and Local Development
These commands let you deploy and interact with your Firebase Hosting site.
|deploy||Deploys your Firebase project. Relies on
|serve||Start a local web server with your Firebase Hosting configuration. Relies on
|database:get||Fetch data from the current project's database and display it as JSON. Supports querying on indexed data.|
|database:set||Replace all data at a specified location in the current project's database. Takes input from file, STDIN, or command-line argument.|
|database:update||Perform a partial update at a specified location in the current project's database. Takes input from file, STDIN, or command-line argument.|
|database:push||Push new data to a list at a specified location in the current project's database. Takes input from file, STDIN, or command-line argument.|
|database:remove||Delete all data at a specified location in the current project's database.|
|hosting:disable||Stop serving Firebase Hosting traffic for the active project. A "Site Not Found" message will be displayed at your project's Hosting URL after running this command.|
Using with CI Systems
The Firebase CLI requires a browser to complete authentication, but is fully compatible with CI and other headless environments.
- On a machine with a browser, install the Firebase CLI.
firebase login:cito log in and print out a new access token (the current CLI session will not be affected).
- Store the output token in a secure but accessible way in your CI system.
There are two ways to use this token when running Firebase commands:
- Store the token as the environment variable
FIREBASE_TOKENand it will automatically be utilized.
- Run all commands with the
--token <token>flag in your CI system.
The order of precedence for token loading is flag, environment variable, active project.
On any machine with the Firebase CLI, running
firebase logout --token <token>
will immediately revoke access for the specified token.
Using as a Module
The Firebase CLI can also be used programmatically as a standard Node module. Each command is exposed as a function that takes an options object and returns a Promise. For example:
var client = ;client;client;