Bird
Raised Fist0
Firebasecloud~5 mins

Rollback deployments in Firebase - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes after updating your app, you find a problem and want to go back to the previous working version. Rollback deployments lets you quickly restore your app to an earlier state to fix issues without downtime.
When a new app update causes errors or crashes for users.
When you accidentally deploy incomplete or broken code.
When you want to quickly undo a change that caused performance problems.
When you need to restore a stable version after testing a risky feature.
When you want to minimize downtime by reverting to a known good deployment.
Commands
This command lists all the deployed versions of your Firebase Hosting site so you can see which version to rollback to.
Terminal
firebase hosting:versions:list
Expected OutputExpected
Version ID Status Create Time v1 ACTIVE 2024-06-01T12:00:00Z v2 ACTIVE 2024-06-02T15:30:00Z v3 ACTIVE 2024-06-03T09:45:00Z
This command clones the version with ID 'v2' to prepare it for deployment again, effectively rolling back to that version.
Terminal
firebase hosting:versions:clone v2 --site=my-app
Expected OutputExpected
Cloning version v2 for site my-app... Version cloned successfully.
→
--site - Specifies the Firebase Hosting site to apply the rollback.
This command deploys the cloned version to Firebase Hosting, making the rollback live to users.
Terminal
firebase deploy --only hosting
Expected OutputExpected
=== Deploying to 'my-app'... i hosting: preparing hosting files... ✔ hosting: files prepared successfully i hosting: deploying... ✔ hosting: deployed successfully Project Console: https://console.firebase.google.com/project/my-app/overview ✔ Deploy complete!
→
--only hosting - Deploys only the hosting part without affecting other Firebase services.
This command opens the live channel URL so you can verify the rollback is visible to users.
Terminal
firebase hosting:channel:open live
Expected OutputExpected
Hosting URL: https://my-app.web.app You can now view your site live.
Key Concept

If you remember nothing else from this pattern, remember: rollback means redeploying a previous stable version to fix problems quickly.

Common Mistakes
Trying to rollback by redeploying old files manually without cloning the version.
This can cause mismatches and does not use Firebase's version control, risking inconsistent states.
Use 'firebase hosting:versions:clone' to clone the exact previous version before deploying.
Not specifying the correct site with --site flag when cloning versions.
The command will fail or clone the wrong site version, causing confusion or errors.
Always include --site=my-app (your site name) to target the right Firebase Hosting site.
Skipping the deploy step after cloning the version.
Cloning alone does not make the rollback live; you must deploy the cloned version.
Run 'firebase deploy --only hosting' after cloning to activate the rollback.
Summary
List all deployed versions with 'firebase hosting:versions:list' to find the rollback target.
Clone the desired previous version using 'firebase hosting:versions:clone' with the correct site.
Deploy the cloned version with 'firebase deploy --only hosting' to make rollback live.
Verify the rollback by opening the live hosting URL.

Practice

(1/5)
1.

What is the main purpose of firebase hosting:rollback?

easy
A. To deploy a new version of the website
B. To create a backup of the current deployment
C. To delete all hosting versions permanently
D. To undo a recent deployment and restore the previous version

Solution

  1. Step 1: Understand rollback purpose

    Rollback is used to undo a deployment that caused issues by restoring the previous stable version.
  2. Step 2: Identify command function

    The command firebase hosting:rollback specifically reverts to the last working deployment.
  3. Final Answer:

    To undo a recent deployment and restore the previous version -> Option D
  4. Quick Check:

    Rollback = undo deployment [OK]
Hint: Rollback means undo last deployment fast [OK]
Common Mistakes:
  • Confusing rollback with deploying new versions
  • Thinking rollback deletes all versions
  • Assuming rollback creates backups
2.

Which of the following is the correct syntax to rollback the last Firebase Hosting deployment?

easy
A. firebase hosting:rollback
B. firebase rollback hosting
C. firebase deploy:rollback hosting
D. firebase hosting rollback --last

Solution

  1. Step 1: Recall correct command structure

    The official Firebase CLI command for rollback is firebase hosting:rollback.
  2. Step 2: Check option syntax

    Options B, C, and D do not match the correct Firebase CLI syntax for rollback.
  3. Final Answer:

    firebase hosting:rollback -> Option A
  4. Quick Check:

    Correct syntax = firebase hosting:rollback [OK]
Hint: Remember exact command: firebase hosting:rollback [OK]
Common Mistakes:
  • Swapping command parts order
  • Adding extra flags not needed
  • Using deploy instead of hosting
3.

Given the deployment history shows versions v5, v6, and v7, with v7 currently live, what will firebase hosting:rollback do?

medium
A. Rollback to version v6
B. Rollback to version v7 again
C. Rollback to version v5
D. Delete all versions except v7

Solution

  1. Step 1: Identify current live version

    The current live version is v7, the latest deployment.
  2. Step 2: Understand rollback behavior

    Rollback reverts to the previous version before the current one, which is v6.
  3. Final Answer:

    Rollback to version v6 -> Option A
  4. Quick Check:

    Rollback = previous version v6 [OK]
Hint: Rollback always reverts to the immediate previous version [OK]
Common Mistakes:
  • Choosing the oldest version instead of previous
  • Thinking rollback redeploys current version
  • Assuming rollback deletes versions
4.

You ran firebase hosting:rollback but got an error saying "No previous version found." What is the most likely cause?

medium
A. Firebase CLI is outdated
B. You have no prior deployments to rollback to
C. Your internet connection is down
D. You typed the command incorrectly

Solution

  1. Step 1: Analyze error message meaning

    The error "No previous version found" means there is no earlier deployment saved to revert to.
  2. Step 2: Consider possible causes

    This usually happens if this is the first deployment or all previous versions were deleted.
  3. Final Answer:

    You have no prior deployments to rollback to -> Option B
  4. Quick Check:

    No previous version = no rollback possible [OK]
Hint: No previous version means no rollback available [OK]
Common Mistakes:
  • Assuming command syntax error
  • Blaming network issues
  • Ignoring deployment history
5.

You deployed version v10 but found a critical bug. You want to rollback to v9. However, v9 was deleted from the history. What is the best approach to recover your site quickly?

hard
A. Delete v10 and wait for Firebase to restore v9 automatically
B. Run firebase hosting:rollback to get v9 back
C. Redeploy a saved local copy of v9 manually
D. Contact Firebase support to restore v9

Solution

  1. Step 1: Understand rollback limitations

    Rollback only works if the previous version exists in deployment history. Since v9 is deleted, rollback cannot restore it.
  2. Step 2: Identify recovery method

    The best way is to redeploy a saved local copy of v9 manually to restore the stable version quickly.
  3. Step 3: Evaluate other options

    Options B and C won't work because rollback needs the version present, and Firebase does not auto-restore deleted versions. Contact Firebase support to restore v9 may take too long for urgent fixes.
  4. Final Answer:

    Redeploy a saved local copy of v9 manually -> Option C
  5. Quick Check:

    Deleted version = manual redeploy needed [OK]
Hint: Rollback needs version history; redeploy local copy if missing [OK]
Common Mistakes:
  • Expecting rollback to restore deleted versions
  • Waiting for automatic Firebase restore
  • Ignoring local backups
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard