3
votes

I have a firebase project setup and I want to use that same project for both an iOS app and to host a website.

I built a basic iOS app. On my desktop I have a folder:

myiosproject
  - iOS
  - firebase
       - functions
             - index.js

I followed the steps to setup cloud functions which according to the docs are to npm install firebase tools, firebase init and then firebase deploy. I've deployed my code to cloud functions and that works fine.

I've also built a basic website and would like to deploy that to firebase hosting. On my desktop I have a folder:

myWebsite
 - images
 - index.html

According to the hosting docs the process to set up and deploy is the same as for cloud functions: npm install, firebase init, firebase deploy.

So my question is how does firebase "know" if I am running firebase deploy from my website folder in which case the code should go to hosting or whether I am deploying from my firebase functions folder in which case the code should go to firebase cloud functions?

2

2 Answers

15
votes

If you use the Firebase CLI to create your project (https://firebase.google.com/docs/hosting/quickstart) your project will organize your code by default, separating the files to be used for hosting under a "public" directory and the source code for Cloud Functions under a "functions" directory.

Then you can choose to deploy only the hosting

firebase deploy --only hosting

or only the functions:

firebase deploy --only functions

Have a look at the detailed CLI documentation: https://firebase.google.com/docs/cli/

4
votes

According to the docs:

firebase-deploy

it deploys the following:

  1. New releases of your Firebase Hosting sites
  2. New or existing Cloud Functions
  3. Rules for Firebase Realtime Database
  4. Rules for Cloud Storage
  5. Rules for Cloud Firestore
  6. Indexes for Cloud Firestore

if you only want to deploy specific features, you can do the following:

firebase deploy --only hosting <-- for hosting
firebase deploy --only functions <-- for cloud functions