Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(deploy): add an overview page #1211

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion source/_data/sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ docs:
server: server.html
generating: generating.html
deployment:
overview: deployment.html
github_pages: github-pages.html
gitlab_pages: gitlab-pages.html
one_command_deployment: one-command-deployment.html
Expand Down Expand Up @@ -51,4 +52,4 @@ api:
migrator: migrator.html
processor: processor.html
renderer: renderer.html
tag: tag.html
tag: tag.html
59 changes: 59 additions & 0 deletions source/docs/deployment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: Deploy
---

As a static site generator, Hexo renders *static* websites. You can host your website on any server, CDN or your favorite development platform.

## Deployer Plugins

Besides them, Hexo also provides many plugins that can help you to deploy your Hexo website. Just go to [Plugins List](/plugins) and type `deployer` in the search form and find out! Here are only a few of them:

### Git

Deploy your Hexo website to any git-supported platform with [`hexo-deployer-git`](one-command-deployment#Git).

### Heroku

Heroku is a cloud platform that lets companies build, deliver, monitor and scale apps. [Read More](one-command-deployment#Heroku).

### Rsync

Deploy your Hexo website using rsync with [`hexo-deployer-rsync`](one-command-deployment#Rsync).

### OpenShift

OpenShift is an open source container application platform by Red Hat. [Read More](one-command-deployment#OpenShift)

### FTP/SFTP

Deploy your Hexo website to your server using FTP/SFTP with [`hexo-deployer-ftpsync`](one-command-deployment#FTPSync) or [`hexo-deployer-sftp`](one-command-deployment#SFTP).

### RSS3

Deploy your Hexo website to RSS3 with [`hexo-deployer-rss3`](one-command-deployment#RSS3).

## Platforms

### GitHub Pages

Deploy Hexo to GitHub Pages as a personal/project site and automate the whole process with GitHub Actions. [Read More](github-pages).

### GitLab Pages

With GitLab's built-in CI runner, you can easy to build your Hexo website and deploy to GitLab Pages service. [Read More](gitlab-pages).

### Netlify

Netlify provides free static site hosting service with CDN, CI/CD and Automated SSL. [Read More](one-command-deployment#Netlify).

### Vercel

Vercel is a severless cloud platform for websites and serverless APIs. [Read More](one-command-deployment#Vercel).

### Bip

Deploy your website in seconds to your own .bip.sh domain. [Read More](one-command-deployment#Bip).

### Edgio

Edgio (formerly Layer0) is an Internet-scale platform that makes it easy for teams to build, release, protect, and accelerate their web apps and APIs. [Read More](one-command-deployment#Edgio-formerly-Layer0)
116 changes: 60 additions & 56 deletions source/docs/one-command-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ deploy:

Refer to the [Plugins](https://hexo.io/plugins/) list for more deployment plugins.

## Git
## Deployer Plugins

### Git

1. Install [hexo-deployer-git].

Expand Down Expand Up @@ -61,7 +63,7 @@ Option | Description | Default

4. Navigate to your repository settings and change the "Pages" branch to `gh-pages` (or the branch specified in your config). The deployed site should be live on the link shown on the "Pages" setting.

## Heroku
### Heroku

Install [hexo-deployer-heroku].

Expand All @@ -83,17 +85,7 @@ deploy:
| `repo`, `repository` | Heroku repository URL |
| `message` | Customize commit message (Default to `Site updated: {% raw %}{{ now('YYYY-MM-DD HH:mm:ss') }}{% endraw %}`) |

## Netlify

[Netlify](https://www.netlify.com/) provides continuous deployment (Git-triggered builds), an intelligent global CDN, full DNS (including custom domains), automated HTTPS, asset acceleration, and a lot more. It is a unified platform that automates your code to create high-performance, easily maintainable sites and web apps.

There are two different ways to deploy your sites on Netlify. The most common way is to use the web UI. Go to the [create a new site page](https://app.netlify.com/start), select your project repo from GitHub, GitLab, or Bitbucket, and follow the prompts.

Alternatively, you can use Netlify's [Node based CLI](https://www.netlify.com/docs/cli/) tool to manage and deploy sites on Netlify without leaving your terminal.

You can also add a [Deploy to Netlify Button](https://www.netlify.com/docs/deploy-button/) in your README.file to allow others to create a copy of your repository and be deployed to Netlify via one click.

## Rsync
### Rsync

Install [hexo-deployer-rsync].

Expand Down Expand Up @@ -125,7 +117,7 @@ deploy:
| `verbose` | Display verbose messages | true |
| `ignore_errors` | Ignore errors | false |

## OpenShift
### OpenShift

Install [hexo-deployer-openshift].

Expand All @@ -147,7 +139,7 @@ deploy:
| `repo` | OpenShift repository URL |
| `message` | Customize commit message (Default to `Site updated: {% raw %}{{ now('YYYY-MM-DD HH:mm:ss') }}{% endraw %}`) |

## FTPSync
### FTPSync

Install [hexo-deployer-ftpsync].

Expand Down Expand Up @@ -181,7 +173,7 @@ deploy:
| `connections` | Connections number | 1 |
| `verbose` | Display verbose messages | false |

## SFTP
### SFTP

Install [hexo-deployer-sftp]. Deploys the site via SFTP, allowing for passwordless connections using ssh-agent.

Expand Down Expand Up @@ -217,7 +209,55 @@ deploy:
| `forceUpload` | Override existing files | false |
| `concurrency` | Max number of SFTP tasks processed concurrently | 100 |

## Vercel
### RSS3

[RSS3](https://rss3.io) is an open protocol designed for content and social networks in the Web 3.0 era.

1. Install [hexo-deployer-rss3].

2. Modify the configuration.

``` yaml
deploy: # The root configuration block for all deployers
- type: rss3
endpoint: https://hub.rss3.io
privateKey: 47e18d6c386898b424025cd9db446f779ef24ad33a26c499c87bb3d9372540ba
ipfs:
deploy: true
gateway: pinata
api:
key: d693df715d3631e489d6
secret: ee8b74626f12b61c1a4bde3b8c331ad390567c86ba779c9b18561ee92c1cbff0
```

| Parameters | Description |
| ----------------- | ---------------------- |
| `endpoint` | a link to the RSS3 Hub |
| `privateKey` | your private key, 64 bytes |
| `ipfs/deploy` | whether to deploy to IPFS |
| `ipfs/gateway` | IPFS API gateway |
| `ipfs/api/key` | IPFS gateway-related authentication content |
| `ipfs/api/secret` | IPFS gateway-related authentication content |

3. generate static files

4. deploy

For deployment-related considerations, you can refer to [Our documentation](https://github.com/NaturalSelectionLabs/hexo-deployer-rss3/blob/develop/README.md).

## Platforms

### Netlify

[Netlify](https://www.netlify.com/) provides continuous deployment (Git-triggered builds), an intelligent global CDN, full DNS (including custom domains), automated HTTPS, asset acceleration, and a lot more. It is a unified platform that automates your code to create high-performance, easily maintainable sites and web apps.

There are two different ways to deploy your sites on Netlify. The most common way is to use the web UI. Go to the [create a new site page](https://app.netlify.com/start), select your project repo from GitHub, GitLab, or Bitbucket, and follow the prompts.

Alternatively, you can use Netlify's [Node based CLI](https://www.netlify.com/docs/cli/) tool to manage and deploy sites on Netlify without leaving your terminal.

You can also add a [Deploy to Netlify Button](https://www.netlify.com/docs/deploy-button/) in your README.file to allow others to create a copy of your repository and be deployed to Netlify via one click.

### Vercel

[Vercel](https://vercel.com) is a cloud platform that enables developers to host Jamstack websites and web services that deploy instantly, scale automatically, and requires no supervision, all with zero configuration. They provide a global edge network, SSL encryption, asset compression, cache invalidation, and more.

Expand All @@ -243,13 +283,13 @@ Alternatively, you can click the deploy button below to create a new project:

[![Deploy Vercel](https://vercel.com/button)](https://vercel.com/new/hexo)

## Bip
### Bip

[Bip](https://bip.sh) is a commercial hosting service which provides zero downtime deployment, a global CDN, SSL, unlimited bandwidth and more for static websites. Plans are available on a pay as you go, per domain basis.

Getting started is quick and easy, as Bip provides out the box support for Hexo. This guide assumes you already have [a Bip domain and Bip CLI installed](https://bip.sh/getstarted).

1: Initialise your project directory
1: Initialize your project directory

```bash
$ bip init
Expand All @@ -265,43 +305,7 @@ $ hexo generate —deploy && bip deploy

After a few moments, your website will be deployed.

## RSS3

[RSS3](https://rss3.io) is an open protocol designed for content and social networks in the Web 3.0 era.

1. Install [hexo-deployer-rss3].

2. Modify the configuration.

``` yaml
deploy: # The root configuration block for all deployers
- type: rss3
endpoint: https://hub.rss3.io
privateKey: 47e18d6c386898b424025cd9db446f779ef24ad33a26c499c87bb3d9372540ba
ipfs:
deploy: true
gateway: pinata
api:
key: d693df715d3631e489d6
secret: ee8b74626f12b61c1a4bde3b8c331ad390567c86ba779c9b18561ee92c1cbff0
```

| Parameters | Description |
| ----------------- | ---------------------- |
| `endpoint` | a link to the RSS3 Hub |
| `privateKey` | your private key, 64 bytes |
| `ipfs/deploy` | whether to deploy to IPFS |
| `ipfs/gateway` | IPFS API gateway |
| `ipfs/api/key` | IPFS gateway-related authentication content |
| `ipfs/api/secret` | IPFS gateway-related authentication content |

3. generate static files

4. deploy

For deployment-related considerations, you can refer to [Our documentation](https://github.com/NaturalSelectionLabs/hexo-deployer-rss3/blob/develop/README.md).

## Edgio (formerly Layer0)
### Edgio (formerly Layer0)

[Edgio (formerly Layer0)](https://docs.edg.io) is an Internet-scale platform that makes it easy for teams to build, release, protect, and accelerate their web apps and APIs.

Expand Down