mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-18 21:11:19 +02:00
Merge commit '00c4484c7092181729f6f470805bc7d72e8ad17b'
This commit is contained in:
@@ -4,7 +4,6 @@ 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]
|
||||
@@ -14,7 +13,6 @@ menu:
|
||||
weight: 20
|
||||
weight: 20
|
||||
sections_weight: 20
|
||||
draft: false
|
||||
toc: true
|
||||
aliases: []
|
||||
---
|
||||
@@ -28,21 +26,23 @@ aliases: []
|
||||
|
||||
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):
|
||||
|
||||
```
|
||||
```txt
|
||||
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.
|
||||
|
||||
|
||||
```
|
||||
```txt
|
||||
firebase login
|
||||
```
|
||||
|
||||
In the root of your Hugo project, initialize the Firebase project with the `firebase init` command:
|
||||
|
||||
```
|
||||
```txt
|
||||
firebase init
|
||||
```
|
||||
|
||||
From here:
|
||||
|
||||
1. Choose Hosting in the feature question
|
||||
@@ -51,24 +51,54 @@ From here:
|
||||
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
|
||||
## Using Firebase & Github CI/CD
|
||||
|
||||
To deploy your Hugo site, execute the `firebase deploy` command, and your site will be up in no time:
|
||||
In new versions of Firebase, some other questions apply:
|
||||
|
||||
6. Set up automatic builds and deploys with GitHub?
|
||||
|
||||
Here you will be redirected to login in your GitHub account to get permissions. Confirm.
|
||||
|
||||
7. For which GitHub repository would you like to set up a GitHub workflow? (format: user/repository)
|
||||
|
||||
Include the repository you will use in the format above (Account/Repo)
|
||||
Firebase script with retrive credentials, create a service account you can later manage in yout github settings.
|
||||
|
||||
8. Set up the workflow to run a build script before every deploy?
|
||||
|
||||
Here is your oportunity to include some commands before you run the deploy.
|
||||
|
||||
9. Set up automatic deployment to your site's live channel when a PR is merged?
|
||||
|
||||
You can let in the default option (main)
|
||||
|
||||
After that Firebase has been set in your project with CI/CD. After that run:
|
||||
|
||||
```
|
||||
hugo && firebase deploy
|
||||
```
|
||||
|
||||
## CI Setup
|
||||
With this you will have the app initialized manualy. After that you can manage and fix your github workflow from: https://github.com/your-account/yout-repo/actions
|
||||
|
||||
Don't forget to update your static pages before push!
|
||||
|
||||
## Manual Deploy
|
||||
|
||||
To deploy your Hugo site, execute the `firebase deploy` command, and your site will be up in no time:
|
||||
|
||||
```txt
|
||||
hugo && firebase deploy
|
||||
```
|
||||
|
||||
## CI Setup (Other tools)
|
||||
|
||||
You can generate a deploy token using
|
||||
|
||||
|
||||
```
|
||||
```txt
|
||||
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`.
|
||||
You can also set up your CI 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.
|
||||
@@ -76,7 +106,7 @@ This is a private secret and it should not appear in a public repository. Make s
|
||||
|
||||
You can then add a step in your build to do the deployment using the token:
|
||||
|
||||
```
|
||||
```txt
|
||||
firebase deploy --token $FIREBASE_DEPLOY_TOKEN
|
||||
```
|
||||
|
||||
@@ -84,6 +114,6 @@ firebase deploy --token $FIREBASE_DEPLOY_TOKEN
|
||||
|
||||
* [Firebase CLI Reference](https://firebase.google.com/docs/cli/#administrative_commands)
|
||||
|
||||
[console]: https://console.firebase.google.com
|
||||
[console]: https://console.firebase.google.com/
|
||||
[Quick Start]: /getting-started/quick-start/
|
||||
[signup]: https://console.firebase.google.com/
|
||||
|
Reference in New Issue
Block a user