Bird
Raised Fist0
Firebasecloud~30 mins

Preview channels in Firebase - Mini Project: Build & Apply

Choose your learning style10 modes available
Firebase Hosting Preview Channels Setup
📖 Scenario: You are working on a website project using Firebase Hosting. You want to create a preview channel to test your changes before making them live. Preview channels let you share a temporary URL with your team to review updates safely.
🎯 Goal: Set up a Firebase Hosting preview channel configuration to deploy and test your website changes in a safe environment before publishing to production.
📋 What You'll Learn
Create a Firebase Hosting configuration file with the hosting target
Add a preview channel ID variable for deployment
Write the Firebase CLI command to deploy to the preview channel
Include the expiration time for the preview channel deployment
💡 Why This Matters
🌍 Real World
Preview channels let developers share and test website changes safely before making them public. This avoids breaking the live site.
💼 Career
Many cloud and web developer roles require managing staging and preview environments to ensure quality and collaboration.
Progress0 / 4 steps
1
Create Firebase Hosting configuration
Create a file named firebase.json with a hosting section that has a public directory set to public and ignore array containing firebase.json and **/.*.
Firebase
Hint

This file tells Firebase which folder to use for hosting and which files to ignore.

2
Add preview channel ID variable
Create a variable called previewChannelId and set it to the string test-channel.
Firebase
Hint

This variable will be used to name your preview channel when deploying.

3
Write Firebase CLI deploy command
Write a command string called deployCommand that uses firebase hosting:channel:deploy with the previewChannelId variable.
Firebase
Hint

This command deploys your site to the preview channel named test-channel.

4
Add expiration time for preview channel
Add an expiration time of 7 days to the deployCommand by appending --expires 7d to the command string.
Firebase
Hint

This sets the preview channel to expire automatically after 7 days.

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