mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	Merge commit 'ec4e6f9df2ab9ffdc62a3f59675369096e0d3f77' as 'docs'
This commit is contained in:
		
							
								
								
									
										91
									
								
								docs/content/hosting-and-deployment/hosting-on-firebase.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								docs/content/hosting-and-deployment/hosting-on-firebase.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,91 @@
 | 
			
		||||
---
 | 
			
		||||
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]
 | 
			
		||||
#tags: [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/
 | 
			
		||||
[Wercker]: /hosting-and-deployment/deployment-with-wercker/
 | 
			
		||||
		Reference in New Issue
	
	Block a user