一键部署

Hexo 提供快速、简便的部署策略。 您只需一条命令即可将网站部署到服务器上。

$ hexo deploy

安装与服务器/存储库提供的部署方法兼容的必要插件。

部署通常通过**_config.yml**进行配置。 有效配置必须有 type 字段。 例如:

deploy:
type: git

您可同时使用多个 deployer。 Hexo 会依照顺序执行每个 deployer。

deploy:
- type: git
repo:
- type: heroku
repo:

关于更多的部署插件,请参考 插件 列表。

Git

  1. 安装 hexo-deployer-git
$ npm install hexo-deployer-git --save
  1. 编辑 _config.yml (示例值如下所示):
deploy:
type: git
repo: <repository url> # https://bitbucket.org/JohnSmith/johnsmith.bitbucket.io
branch: [branch]
message: [message]
选项 描述 默认
repo 目标存储库的 URL
branch 分支名称 gh-pages (GitHub)
coding-pages (Coding.net)
master (others)
message 自定义提交信息 Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}
token 可选的令牌值,用于认证 repo。 用 $ 作为前缀从而从环境变量中读取令牌
  1. 此外,如果您的 Github Pages 需要使用 CNAME 文件自定义域名,请将 CNAME 文件置于 source 目录下,只有这样 hexo deploy 才能将 CNAME 文件一并推送至部署分支。
  • 除非你使用令牌或 SSH 密钥认证,否则你会被提示提供目标仓库的用户名和密码。
  • hexo-deployer-git 并不会存储你的用户名和密码。 请使用 git-credential-cache 来临时存储它们。
  1. 登入 Github/BitBucket/Gitlab,请在库设置(Repository Settings)中将默认分支设置为_config.yml配置中的分支名称。 稍等片刻,您的站点就会显示在您的Github Pages中。

Heroku

安装 hexo-deployer-heroku

$ npm install hexo-deployer-heroku --save

修改配置。

deploy:
type: heroku
repo: <repository url>
message: [message]
选项 描述
repo, repository Heroku 库(Repository)地址
message 自定提交信息 (默认为 Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }})

Netlify

Netlify 提供持续部署(Git 触发构建)、智能全球 CDN、完整 DNS(包括自定义域)、自动 HTTPS、资产加速等功能。 它是一个统一的平台,可自动执行代码,创建高性能、易于维护的网站和网络应用程序。

在 Netlify 上部署站点,有两种不同的方式。 首先,也是最通用的方式,就是使用Netlify提供的网页端用户界面。 前往新建一个网站页面,选择需要关联的 Github/BitBucket/Gitlab 库,然后遵循网站提示。

另一种方式是使用Netlify提供的命令行客户端工具 Node based CLI 管理和部署您的站点。

此外,您还可以在项目的README中增加一个 部署至Netlify按钮,这样其他用户在fork或clone了您的项目之后可以方便快捷地一键部署。

Rsync

安装 hexo-deployer-rsync

$ npm install hexo-deployer-rsync --save

修改配置。

deploy:
type: rsync
host: <host>
user: <user>
root: <root>
port: [port]
delete: [true|false]
verbose: [true|false]
ignore_errors: [true|false]
选项 描述 默认值
host 远程主机的地址
user 使用者名称
root 远程主机的根目录
port 端口 22
delete 删除远程主机上的旧文件 true
verbose 显示调试信息 true
ignore_errors 忽略错误 false

FTPSync

Install hexo-deployer-ftpsync.

$ npm install hexo-deployer-ftpsync --save

修改配置。

deploy:
type: ftpsync
host: <host>
user: <user>
pass: <password>
remote: [remote]
port: [port]
clear: [true|false]
verbose: [true|false]
选项 描述 默认值
host 远程主机的地址
user 使用者名称
pass 密码
remote 远程主机的根目录 /
port 端口 21
clear 在上传前移除远程主机的根目录下所有的文件和目录 false
verbose 显示调试信息 false

SFTP

Install hexo-deployer-sftp. 通过 SFTP 部署站点,允许使用 ssh-agent 进行无密码连接。

$ npm install hexo-deployer-sftp --save

修改配置。

deploy:
type: sftp
host: <host>
user: <user>
pass: <password>
remotePath: [remote path]
port: [port]
privateKey: [path/to/privateKey]
passphrase: [passphrase]
agent: [path/to/agent/socket]
选项 描述 默认值
host 远程主机的地址
port 端口 22
user 使用者名称
pass 密码
privateKey SSH 私钥的目录地址
passphrase 私钥的可选密码
agent ssh套接字的目录地址 $SSH_AUTH_SOCK
remotePath 远程主机的根目录 /
forceUpload 覆盖现有的文件 false
concurrency 同时处理的 SFTP 任务的最大数量 100

Vercel

Vercel 是一个云平台,使开发人员能够托管 Jamstack 网站和网络服务,这些网站和服务可即时部署,自动扩展,无需监督,零配置。 他们提供全球边缘网络、SSL 加密、资源压缩、缓存失效等服务。

步骤 1: 在你的 package.json 文件中添加一个构建脚本:

{
"scripts": {
"build": "hexo generate"
}
}

步骤 2: 将你的 Hexo 网站部署到 Vercel 上

要通过 Git整合Vercel 部署 Hexo 应用程序,请确保它已被推送到 Git 仓库。

使用 导入流 将该项目导入 Vercel。 在导入过程中,你会发现所有相关的选项都是预先配置好的;但是,你可以选择改变其中的任何选项,这些选项的清单可以在 这里 找到。

在你的项目被导入后,所有后续推送到分支的内容都会产生 预览部署 ,而对 生产分支(通常是“主分支”)所做的所有更改都会导致 生产部署

或者,您可以单击下面的部署按钮创建新项目:

部署Vercel

Bip

Bip 是一项商业托管服务,为静态网站提供零停机部署、全球 CDN、SSL、无限带宽等。 计划以以每个域为基础,随用随付的方式提供。

由于 Bip 为 Hexo 提供了开箱即用的支持,因此开始使用是很容易的。 本指南假定你已经有 一个Bip域和已经安装Bip CLI

1: 初始化你的项目目录

$ bip init

按照提示,你会被提问到你想部署到哪个域。 Bip 会检测到你正在使用 Hexo ,并自动设置项目设置,如源文件目录。

2: 部署你的网站

$ hexo generate —deploy && bip deploy

几分钟后,你的网站将被部署。

其他方法

Hexo 生成的所有文件都放在 public 文件夹中。 您可以将它们复制到您喜欢的地方。