Hexo 提供快速且簡易的部署策略。您只需要一個指令,即可將您的網站部署到伺服器。
$ hexo deploy |
安裝與您的伺服器/儲存庫所提供的部署方法相容的必要外掛。
部署通常透過 _config.yml 設定。有效的設定必須具有 type
欄位。例如:
deploy: |
您可以使用多個部署器。Hexo 將依序執行每個部署器。
deploy: |
請參閱外掛列表,以取得更多部署外掛。
Git
$ npm install hexo-deployer-git --save |
- 編輯 _config.yml(範例值如下方註解所示)
deploy: |
選項 | 描述 | 預設值 |
---|---|---|
repo |
目標儲存庫的 URL | |
branch |
分支名稱。 | gh-pages (GitHub)coding-pages (Coding.net)master (其他) |
message |
自訂提交訊息。 | 網站已更新:{{ now('YYYY-MM-DD HH:mm:ss') }} |
token |
用於與儲存庫驗證的可選權杖值。加上 $ 前綴,從環境變數讀取權杖 |
- 部署您的網站
hexo clean && hexo deploy
。
- 系統將提示您輸入目標儲存庫的使用者名稱和密碼,除非您使用權杖或 SSH 金鑰進行驗證。
- hexo-deployer-git 不會儲存您的使用者名稱和密碼。請使用 git-credential-cache 來暫時儲存它們。
- 導覽至您的儲存庫設定,並將「Pages」分支變更為
gh-pages
(或您的設定中指定的分支)。已部署的網站應在「Pages」設定中顯示的連結上啟用。
Heroku
$ npm install hexo-deployer-heroku --save |
編輯設定。
deploy: |
選項 | 描述 |
---|---|
repo 、repository |
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
$ npm install hexo-deployer-rsync --save |
編輯設定。
deploy: |
選項 | 描述 | 預設值 |
---|---|---|
host |
遠端主機的位址 | |
user |
使用者名稱 | |
root |
遠端主機的根目錄 | |
port |
連接埠 | 22 |
delete |
刪除遠端主機上的舊檔案 | true |
verbose |
顯示詳細訊息 | true |
ignore_errors |
忽略錯誤 | false |
OpenShift
hexo-deployer-openshift
已於 2022 年棄用。
$ npm install hexo-deployer-openshift --save |
編輯設定。
deploy: |
選項 | 描述 |
---|---|
repo |
OpenShift 儲存庫 URL |
message |
自訂提交訊息(預設為 網站已更新:{{ now('YYYY-MM-DD HH:mm:ss') }} ) |
FTPSync
$ npm install hexo-deployer-ftpsync --save |
編輯設定。
deploy: |
選項 | 描述 | 預設值 |
---|---|---|
host |
遠端主機的位址 | |
user |
使用者名稱 | |
pass |
密碼 | |
remote |
遠端主機的根目錄 | / |
port |
連接埠 | 21 |
clear |
在上傳之前,從遠端目錄中移除所有檔案和目錄 | false |
verbose |
顯示詳細訊息 | false |
SFTP
安裝 hexo-deployer-sftp。透過 SFTP 部署網站,允許使用 ssh-agent 進行無密碼連線。
$ npm install hexo-deployer-sftp --save |
編輯設定。
deploy: |
選項 | 描述 | 預設值 |
---|---|---|
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
檔案
{ |
步驟 2:將您的 Hexo 網站部署至 Vercel
若要使用 Vercel for Git Integration 部署您的 Hexo 應用程式,請確保已將其推送至 Git 儲存庫。
使用匯入流程將專案匯入至 Vercel。在匯入期間,您會發現所有相關選項都已為您預先設定;但是,您可以選擇變更任何這些選項,其清單可以在這裡找到。
匯入您的專案之後,後續對分支的所有推送都會產生預覽部署,並且對生產分支(通常是「main」)所做的所有變更都會導致生產部署。
或者,您可以點擊下方的部署按鈕來建立新專案
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 時代的內容和社群網路而設計。
修改設定。
deploy: # The root configuration block for all deployers |
參數 | 描述 |
---|---|
endpoint |
RSS3 Hub 的連結 |
privateKey |
您的私密金鑰,64 個位元組 |
ipfs/deploy |
是否要部署到 IPFS |
ipfs/gateway |
IPFS API 閘道 |
ipfs/api/key |
與 IPFS 閘道相關的驗證內容 |
ipfs/api/secret |
與 IPFS 閘道相關的驗證內容 |
產生靜態檔案
deploy
對於部署相關的考量,您可以參閱我們的文件。
Edgio (原 Layer0)
Edgio (原 Layer0) 是一個網際網路級平台,可讓團隊輕鬆建置、發布、保護和加速其 Web 應用程式和 API。
- 在您的 hexo 專案目錄中,安裝 Edgio CLI
npm i -g @edgio/cli |
- 安裝 Edgio 的 Hexo 連接器
edgio init --connector=@edgio/hexo |
- 部署
edgio deploy |
或者,您可以點擊下方的部署按鈕來建立新專案
其他方法
所有產生的檔案都儲存在 public
資料夾中。您可以將它們複製到任何您喜歡的位置。