Bird
Raised Fist0
Firebasecloud~5 mins

Preview channels in Firebase - Commands & Configuration

Choose your learning style10 modes available
Introduction
Preview channels let you share your Firebase Hosting site changes with others before making them live. This helps you test and get feedback safely without affecting your main website.
When you want to show a new website feature to your team before publishing it to everyone.
When you need to test changes on a real URL without affecting your live site visitors.
When you want to get client approval on website updates before going live.
When you want to share a temporary version of your site for a demo or review.
When you want to catch bugs or design issues early by sharing a preview link.
Commands
This command creates a preview channel named 'preview-123' and deploys your current site version to it. It gives you a unique URL to share your changes safely.
Terminal
firebase hosting:channel:deploy preview-123
Expected OutputExpected
✔ Deploy complete! Preview URL: https://preview-123--your-project-id.web.app To view your site, open the preview URL in a browser.
This command lists all your active preview channels so you can see their names and URLs.
Terminal
firebase hosting:channel:list
Expected OutputExpected
┌─────────────┬──────────────────────────────────────────────┐ │ Channel ID │ URL │ ├─────────────┼──────────────────────────────────────────────┤ │ preview-123 │ https://preview-123--your-project-id.web.app │ └─────────────┴──────────────────────────────────────────────┘
This command deletes the preview channel named 'preview-123' to clean up and remove the temporary preview site.
Terminal
firebase hosting:channel:delete preview-123
Expected OutputExpected
✔ Channel preview-123 deleted successfully.
Key Concept

If you remember nothing else from preview channels, remember: they let you safely share and test website changes on a temporary URL before going live.

Common Mistakes
Trying to deploy to a preview channel without initializing Firebase Hosting in the project.
The deploy command fails because Firebase Hosting is not set up and there is no hosting configuration.
Run 'firebase init hosting' first to set up Hosting before deploying to preview channels.
Not deleting old preview channels, causing clutter and confusion.
Too many preview channels can make it hard to find the right one and may use up project resources.
Regularly run 'firebase hosting:channel:list' and delete unused preview channels with 'firebase hosting:channel:delete <channel-id>'.
Summary
Use 'firebase hosting:channel:deploy <channel-id>' to create and deploy a preview channel.
Use 'firebase hosting:channel:list' to see all active preview channels and their URLs.
Use 'firebase hosting:channel:delete <channel-id>' to remove preview channels when done.

Practice

(1/5)
1. What is the main purpose of Firebase preview channels?
easy
A. To create temporary, shareable versions of your app for testing
B. To permanently host your live app
C. To backup your Firebase database
D. To monitor app usage statistics

Solution

  1. Step 1: Understand preview channels concept

    Preview channels allow you to create temporary versions of your app that you can share for testing.
  2. Step 2: Compare with other options

    Permanent hosting, backups, and monitoring are different Firebase features unrelated to preview channels.
  3. Final Answer:

    To create temporary, shareable versions of your app for testing -> Option A
  4. Quick Check:

    Preview channels = temporary test versions [OK]
Hint: Preview channels = temporary test app versions [OK]
Common Mistakes:
  • Confusing preview channels with permanent hosting
  • Thinking preview channels backup data
  • Assuming preview channels track usage
2. Which command correctly creates a Firebase preview channel named test123?
easy
A. firebase hosting:channel:deploy test123
B. firebase deploy --channel test123
C. firebase hosting:deploy test123
D. firebase channel:create test123

Solution

  1. Step 1: Recall the correct Firebase CLI command

    The command to create a preview channel is firebase hosting:channel:deploy CHANNEL_ID.
  2. Step 2: Match the command with the channel name

    Replacing CHANNEL_ID with test123 gives firebase hosting:channel:deploy test123.
  3. Final Answer:

    firebase hosting:channel:deploy test123 -> Option A
  4. Quick Check:

    Correct CLI command = firebase hosting:channel:deploy test123 [OK]
Hint: Use hosting:channel:deploy with your channel name [OK]
Common Mistakes:
  • Using deploy without hosting:channel
  • Using channel:create which is invalid
  • Mixing command order or flags
3. What happens when you deploy to a Firebase preview channel with the command firebase hosting:channel:deploy preview1?
medium
A. The live app is overwritten immediately
B. The app is published to the app stores
C. The Firebase database is reset
D. A temporary URL is created to share the app version

Solution

  1. Step 1: Understand the effect of deploying to a preview channel

    Deploying to a preview channel creates a temporary, shareable URL for testing.
  2. Step 2: Eliminate incorrect options

    It does not overwrite the live app, reset databases, or publish to app stores.
  3. Final Answer:

    A temporary URL is created to share the app version -> Option D
  4. Quick Check:

    Deploy to preview channel = temporary URL [OK]
Hint: Deploying preview channel creates temporary share URL [OK]
Common Mistakes:
  • Thinking it overwrites live app immediately
  • Confusing preview deploy with database reset
  • Assuming it publishes app to stores
4. You ran firebase hosting:channel:deploy MyTest but got an error saying the channel name is invalid. What is a likely cause?
medium
A. You need to be logged out of Firebase CLI
B. You must include the --force flag
C. Channel names cannot contain uppercase letters
D. Channel names must be numeric only

Solution

  1. Step 1: Check Firebase preview channel naming rules

    Channel names must be lowercase alphanumeric and can include dashes, but no uppercase letters.
  2. Step 2: Evaluate other options

    --force flag is not required for naming; numeric-only names are not required; being logged out causes authentication errors, not naming errors.
  3. Final Answer:

    Channel names cannot contain uppercase letters -> Option C
  4. Quick Check:

    Invalid channel name = uppercase letters [OK]
Hint: Use only lowercase letters in channel names [OK]
Common Mistakes:
  • Trying uppercase letters in channel names
  • Assuming --force fixes naming errors
  • Confusing auth errors with naming errors
5. You want to share a new feature with your team without affecting the live app. Which steps correctly use Firebase preview channels to do this?
hard
A. Run firebase deploy to update live app, then email the team
B. Run firebase hosting:channel:deploy featureX and share the generated URL
C. Create a new Firebase project and deploy the app there
D. Use firebase hosting:disable to stop live hosting temporarily

Solution

  1. Step 1: Identify the correct way to create a preview version

    Using firebase hosting:channel:deploy featureX creates a temporary preview channel for sharing.
  2. Step 2: Understand why other options are incorrect

    Deploy updates live app; creating new project is unnecessary; disabling hosting stops live app, not preview.
  3. Final Answer:

    Run firebase hosting:channel:deploy featureX and share the generated URL -> Option B
  4. Quick Check:

    Preview channel deploy + share URL = safe testing [OK]
Hint: Deploy preview channel and share URL, not live deploy [OK]
Common Mistakes:
  • Deploying directly to live app by mistake
  • Creating new projects unnecessarily
  • Disabling hosting instead of previewing
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