Commit 023a5d9d authored by Guilherme Heynemann Bruzzi's avatar Guilherme Heynemann Bruzzi Committed by Dan Abramov
Browse files

Add deploy to Firebase CDN on template's README (Closes #374) (#1143)

* Add deploy to Firebase CDN on template's README (Closes #374)

* Move section and minor tweaks
parent 3a36693a
No related merge requests found
Showing with 63 additions and 0 deletions
+63 -0
...@@ -48,6 +48,7 @@ You can find the most recent version of this guide [here](https://github.com/fac ...@@ -48,6 +48,7 @@ You can find the most recent version of this guide [here](https://github.com/fac
- [Deployment](#deployment) - [Deployment](#deployment)
- [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing) - [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing)
- [Building for Relative Paths](#building-for-relative-paths) - [Building for Relative Paths](#building-for-relative-paths)
- [Firebase](#firebase)
- [GitHub Pages](#github-pages) - [GitHub Pages](#github-pages)
- [Heroku](#heroku) - [Heroku](#heroku)
- [Modulus](#modulus) - [Modulus](#modulus)
...@@ -1010,6 +1011,68 @@ To override this, specify the `homepage` in your `package.json`, for example: ...@@ -1010,6 +1011,68 @@ To override this, specify the `homepage` in your `package.json`, for example:
This will let Create React App correctly infer the root path to use in the generated HTML file. This will let Create React App correctly infer the root path to use in the generated HTML file.
### Firebase
Install the Firebase CLI if you haven't already by running `npm install -g firebase-tools`. Sign up for a [Firebase account](https://console.firebase.google.com/) and create a new project. Run `firebase login` and login with your previous created Firebase account.
Then run the `firebase init` command from your project's root. You need to choose the **Hosting: Configure and deploy Firebase Hosting sites** and choose the Firebase project you created in the previous step. You will need to agree with `database.rules.json` being created, choose `build` as the public directory, and also agree to **Configure as a single-page app** by replying with `y`.
```sh
=== Project Setup
First, let's associate this project directory with a Firebase project.
You can create multiple project aliases by running firebase use --add,
but for now we'll just set up a default project.
? What Firebase project do you want to associate as default? Example app (example-app-fd690)
=== Database Setup
Firebase Realtime Database Rules allow you to define how your data should be
structured and when your data can be read from and written to.
? What file should be used for Database Rules? database.rules.json
✔ Database Rules for example-app-fd690 have been downloaded to database.rules.json.
Future modifications to database.rules.json will update Database Rules when you run
firebase deploy.
=== Hosting Setup
Your public directory is the folder (relative to your project directory) that
will contain Hosting assets to uploaded with firebase deploy. If you
have a build process for your assets, use your build's output directory.
? What do you want to use as your public directory? build
? Configure as a single-page app (rewrite all urls to /index.html)? Yes
✔ Wrote build/index.html
i Writing configuration info to firebase.json...
i Writing project information to .firebaserc...
✔ Firebase initialization complete!
```
Now, after you create a production build with `npm run build`, you can deploy it by running `firebase deploy`.
```sh
=== Deploying to 'example-app-fd690'...
i deploying database, hosting
✔ database: rules ready to deploy.
i hosting: preparing build directory for upload...
Uploading: [============================== ] 75%✔ hosting: build folder uploaded successfully
✔ hosting: 8 files uploaded successfully
i starting release process (may take several minutes)...
✔ Deploy complete!
Project Console: https://console.firebase.google.com/project/example-app-fd690/overview
Hosting URL: https://example-app-fd690.firebaseapp.com
```
For more information see [Add Firebase to your JavaScript Project](https://firebase.google.com/docs/web/setup).
### GitHub Pages ### GitHub Pages
>Note: this feature is available with `react-scripts@0.2.0` and higher. >Note: this feature is available with `react-scripts@0.2.0` and higher.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment