mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05:00
aa5ac36a3e
39a7fac34 Add .hugo_build.lock to .gitignore 920c716a4 fix a typo: to -> two (#1545) 6f0ba9593 Remove godocref from front matter (#1543) 8ec3d5948 remove link to wercker (#1544) b56008719 Delete deployment-with-wercker.md (#1542) e33d29b02 Fix broken links (#1538) 29e9d4c21 Sort commenting systems (#1541) 0b7ea60a7 Delete the news page "HTTP/2 Server Push in Hugo" 6e1515857 Fix quick-start.md (#1525) 62168ab35 Update comments.md (#1535) d92191512 Small typo (#1539) 129c8834a Correct the PostCSS noMap default value (#1534) 6a5b29fcc Add example to index function (#1536) e3dd8c507 Update output-formats.md 0c9321ca0 Remove reference to using LiveReload in production environment 4072d6776 Mod testing 09fabf7d6 Fix typo (#1524) 2fce813c8 Fix grammatical error in quick-start.md (#1523) 45230ab4a Hugo Mod testing 2dd4cd9e7 Update index.md 2c3ed62fd netlify: Bump to 0.88.1 648e2a007 Merge branch 'tempv0.88.1' f216eade1 releaser: Add release notes to /docs for release of 0.88.1 8a7b64d4b Fix typographical errors in 0.88.0 release notes a4bf86300 Release 0.88 738bb8f38 releaser: Add release notes to /docs for release of 0.88.0 8fcf2c55d highlight: Remove some pygments references f2b173de2 HTTPS link c88881c8e Adding link to nginx documentation 6b0a74fe0 Fix typos in docs (#1516) 498b8f0f1 Fix typos in time.Format (#1515) 28723fad6 Fix taxonomy and term examples (#1514) 3ffd00e12 Update front-matter.md 7cc1da82e Fix grammar in 0.86.1 release notes (#1510) 0009c51c3 Update docs helper 7e2f430f4 Update index.md 7857eae7e releaser: Add release notes to /docs for release of 0.87.0 1f08b684b releaser: Add release notes to /docs for release of 0.87.0 36a9e701c docs: Adjust config docs 0f588438e docs: Regen CLI docs 1b4682cd8 docs: Regen docs helper bc8bbaae9 Merge commit 'bd77f6e1c99e04a476f0b1bb4e44569134e02399' into release-0.87.0 6f2480643 docs: Adjust time zone docs git-subtree-dir: docs git-subtree-split: 39a7fac343c289906db644c96079fdcc0298582f
89 lines
2.4 KiB
Markdown
89 lines
2.4 KiB
Markdown
---
|
|
title: Host on Firebase
|
|
linktitle: Host on Firebase
|
|
description: You can use Firebase's free tier to host your static website; this also gives you access to Firebase's NOSQL API.
|
|
date: 2017-03-12
|
|
publishdate: 2017-03-12
|
|
lastmod: 2017-03-15
|
|
categories: [hosting and deployment]
|
|
keywords: [hosting,firebase]
|
|
authors: [Michel Racic]
|
|
menu:
|
|
docs:
|
|
parent: "hosting-and-deployment"
|
|
weight: 20
|
|
weight: 20
|
|
sections_weight: 20
|
|
draft: false
|
|
toc: true
|
|
aliases: []
|
|
---
|
|
|
|
## Assumptions
|
|
|
|
1. You have an account with [Firebase][signup]. (If you don't, you can sign up for free using your Google account.)
|
|
2. You have completed the [Quick Start][] or have a completed Hugo website ready for deployment.
|
|
|
|
## Initial setup
|
|
|
|
Go to the [Firebase console][console] and create a new project (unless you already have a project). You will need to globally install `firebase-tools` (node.js):
|
|
|
|
```
|
|
npm install -g firebase-tools
|
|
```
|
|
|
|
Log in to Firebase (setup on your local machine) using `firebase login`, which opens a browser where you can select your account. Use `firebase logout` in case you are already logged in but to the wrong account.
|
|
|
|
|
|
```
|
|
firebase login
|
|
```
|
|
In the root of your Hugo project, initialize the Firebase project with the `firebase init` command:
|
|
|
|
```
|
|
firebase init
|
|
```
|
|
From here:
|
|
|
|
1. Choose Hosting in the feature question
|
|
2. Choose the project you just set up
|
|
3. Accept the default for your database rules file
|
|
4. Accept the default for the publish directory, which is `public`
|
|
5. Choose "No" in the question if you are deploying a single-page app
|
|
|
|
## Deploy
|
|
|
|
To deploy your Hugo site, execute the `firebase deploy` command, and your site will be up in no time:
|
|
|
|
```
|
|
hugo && firebase deploy
|
|
```
|
|
|
|
## CI Setup
|
|
|
|
You can generate a deploy token using
|
|
|
|
|
|
```
|
|
firebase login:ci
|
|
```
|
|
|
|
You can also set up your CI (e.g., with [Wercker][]) and add the token to a private variable like `$FIREBASE_DEPLOY_TOKEN`.
|
|
|
|
{{% note %}}
|
|
This is a private secret and it should not appear in a public repository. Make sure you understand your chosen CI and that it's not visible to others.
|
|
{{% /note %}}
|
|
|
|
You can then add a step in your build to do the deployment using the token:
|
|
|
|
```
|
|
firebase deploy --token $FIREBASE_DEPLOY_TOKEN
|
|
```
|
|
|
|
## Reference links
|
|
|
|
* [Firebase CLI Reference](https://firebase.google.com/docs/cli/#administrative_commands)
|
|
|
|
[console]: https://console.firebase.google.com
|
|
[Quick Start]: /getting-started/quick-start/
|
|
[signup]: https://console.firebase.google.com/
|