一鍵部署

Hexo 提供快速且簡易的部署策略。您只需要一個指令,即可將您的網站部署到伺服器。

$ hexo deploy

安裝與您的伺服器/儲存庫所提供的部署方法相容的必要外掛。

部署通常透過 _config.yml 設定。有效的設定必須具有 type 欄位。例如:

deploy:
type: git

您可以使用多個部署器。Hexo 將依序執行每個部署器。

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 (其他)
message 自訂提交訊息。 網站已更新:{{ now('YYYY-MM-DD HH:mm:ss') }}
token 用於與儲存庫驗證的可選權杖值。加上 $ 前綴,從環境變數讀取權杖
  1. 部署您的網站 hexo clean && hexo deploy
  • 系統將提示您輸入目標儲存庫的使用者名稱和密碼,除非您使用權杖或 SSH 金鑰進行驗證。
  • hexo-deployer-git 不會儲存您的使用者名稱和密碼。請使用 git-credential-cache 來暫時儲存它們。
  1. 導覽至您的儲存庫設定,並將「Pages」分支變更為 gh-pages(或您的設定中指定的分支)。已部署的網站應在「Pages」設定中顯示的連結上啟用。

Heroku

安裝 hexo-deployer-heroku

$ npm install hexo-deployer-heroku --save

編輯設定。

deploy:
type: heroku
repo: <repository url>
message: [message]
選項 描述
reporepository Heroku 儲存庫 URL
message 自訂提交訊息(預設為 網站已更新:{{ now('YYYY-MM-DD HH:mm:ss') }}

Netlify

Netlify 提供持續部署(Git 觸發建置)、智慧型全球 CDN、完整 DNS(包括自訂網域)、自動 HTTPS、資產加速等等。它是一個統一平台,可自動化您的程式碼,以建立高效能、易於維護的網站和 Web 應用程式。

有兩種不同的方式可在 Netlify 上部署您的網站。最常見的方式是使用 Web UI。前往建立新網站頁面,從 GitHub、GitLab 或 Bitbucket 選擇您的專案儲存庫,並依照提示操作。

或者,您可以使用 Netlify 的 基於 Node 的 CLI 工具,在不離開終端機的情況下管理和部署 Netlify 上的網站。

您也可以在您的 README.file 中新增一個部署至 Netlify 按鈕,讓其他人建立您儲存庫的副本,並透過一鍵部署至 Netlify。

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

OpenShift

hexo-deployer-openshift 已於 2022 年棄用。

安裝 hexo-deployer-openshift

$ npm install hexo-deployer-openshift --save

編輯設定。

deploy:
type: openshift
repo: <repository url>
message: [message]
選項 描述
repo OpenShift 儲存庫 URL
message 自訂提交訊息(預設為 網站已更新:{{ now('YYYY-MM-DD HH:mm:ss') }}

FTPSync

安裝 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

安裝 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-agent Socket 的路徑 $SSH_AUTH_SOCK
remotePath 遠端主機的根目錄 /
forceUpload 覆寫現有檔案 false
concurrency 並行處理的 SFTP 工作最大數量 100

Vercel

Vercel 是一個雲端平台,可讓開發人員託管 Jamstack 網站和 Web 服務,這些服務可立即部署、自動擴展且無需監督,而且全部無需任何設定。它們提供全球邊緣網路、SSL 加密、資產壓縮、快取失效等等。

步驟 1:將建置指令碼新增至您的 package.json 檔案

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

步驟 2:將您的 Hexo 網站部署至 Vercel

若要使用 Vercel for Git Integration 部署您的 Hexo 應用程式,請確保已將其推送至 Git 儲存庫。

使用匯入流程將專案匯入至 Vercel。在匯入期間,您會發現所有相關選項都已為您預先設定;但是,您可以選擇變更任何這些選項,其清單可以在這裡找到。

匯入您的專案之後,後續對分支的所有推送都會產生預覽部署,並且對生產分支(通常是「main」)所做的所有變更都會導致生產部署

或者,您可以點擊下方的部署按鈕來建立新專案

Deploy Vercel

Bip

Bip 是一項商業託管服務,可為靜態網站提供零停機時間部署、全球 CDN、SSL、無限頻寬等等。方案按單次付款、每個網域提供。

開始使用快速而容易,因為 Bip 為 Hexo 提供開箱即用的支援。本指南假設您已經擁有 Bip 網域並安裝了 Bip CLI

1:初始化您的專案目錄

$ bip init

依照提示操作,系統會詢問您要部署到哪個網域。Bip 會偵測到您正在使用 Hexo,並自動設定專案設定,例如來源檔案目錄。

2:部署您的網站

$ hexo generate —deploy && bip deploy

片刻之後,您的網站將會部署完成。

RSS3

hexo-deployer-rss3 已於 2023 年棄用。

RSS3 是一個開放協定,專為 Web 3.0 時代的內容和社群網路而設計。

  1. 安裝 hexo-deployer-rss3

  2. 修改設定。

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
參數 描述
endpoint RSS3 Hub 的連結
privateKey 您的私密金鑰,64 個位元組
ipfs/deploy 是否要部署到 IPFS
ipfs/gateway IPFS API 閘道
ipfs/api/key 與 IPFS 閘道相關的驗證內容
ipfs/api/secret 與 IPFS 閘道相關的驗證內容
  1. 產生靜態檔案

  2. deploy

對於部署相關的考量,您可以參閱我們的文件

Edgio (原 Layer0)

Edgio (原 Layer0) 是一個網際網路級平台,可讓團隊輕鬆建置、發布、保護和加速其 Web 應用程式和 API。

  1. 在您的 hexo 專案目錄中,安裝 Edgio CLI
npm i -g @edgio/cli
  1. 安裝 Edgio 的 Hexo 連接器
edgio init --connector=@edgio/hexo
  1. 部署
edgio deploy

或者,您可以點擊下方的部署按鈕來建立新專案

Deploy To Edgio

其他方法

所有產生的檔案都儲存在 public 資料夾中。您可以將它們複製到任何您喜歡的位置。