【Hexo】自動化部署
目錄
使用 GitHub Action 持續部署
準備部署用公私鑰
建立 Action 檔
修改部署模式
完成持續部署
使用 Travis CI 部署
參考資料
使用 GitHub Action 持續部署
請注意,使用此方法 package.json 內
一定要包含 hexo-deployer-git 這個套件
準備部署用公私鑰
利用 git 指令生成公私鑰ssh-keygen -f actions-deploy-key
執行完後,應該會在 Terminal 所執行的資料夾下
產生以下兩個檔案
- actions-deploy-key
- actions-deploy-key.pub
其中 actions-deploy-key 是私鑰
要新增到放置 Hexo 專案的儲存庫
actions-deploy-key.pub 是公鑰
新增到用來部署網站的 xxxxx.github.io 這個儲存庫
設定部署私鑰
打開 Hexo 專案的 GitHub 頁面
Settings -> Secrets -> 點選 New repository secret 按鈕
私鑰的 Name 可以自訂,只要和設定名稱統一即可
這裡示範設定名稱為 HEXO_DEPLOY
Value 內容就是用文字文件或其他程式
打開 actions-deploy-key 這個檔案後
將內容全數複製貼上
設定部署公鑰
接著來到 xxxxx.github.io 這個專案內
打開 Setting -> Deploy Keys -> Add deploy key
Title 輸入跟剛才一樣的 HEXO_DEPLOY
Key 內容也是打開 actions-deploy-key.pub 檔案後
把內容複製貼到這裡
之後往下拉
記得勾選 Allow write access
允許 push 行為
之後點 Add Key
這樣公私鑰就設置完成
接著來建立 GitHub 的 Action 檔案
建立 Action 檔
以下內容主要皆參考 這裡
僅按照客製化需求調整 push 監聽的分支
為方便翻閱筆記,以下簡單紀錄
在根目錄的 .github 資料夾下
新增 workflows 資料夾與 hexoAcions.yml 檔案
整體路徑為 ./.github/workflows/hexoAcions.yml
hexoAcions.yml 的內容如下
1 | name: 'hexo deploy' |
修改部署模式
GitHub Action 使用 SSH 傳輸協定而非 https
所以需要修改根目錄 _config.yml
的設定
將 deploy 的 repo 網址修改如下
1 | repo: git@github.com:xxxxx/xxxxx.github.io.git |
xxxxx 代換成 Github 的帳號名稱
完成持續部署
以上都完成後,將專案 commit 並 push
來到放置 Hexo 專案的儲存庫,並點下 Actions 頁籤
如果能夠看到剛 push 上去的 workflow 正在部署
就表示成功監聽 branch
並在每次專案 push 後
都會自動部署至 xxxxx.github.io 這個專案上
成功執行的 workflow 會變成綠色勾勾
如果報錯的話就點進 workflow 的 build 查看 console
看看是哪個環節出了問題
修正過後再測試一次看看
以上就是 Hexo 網頁
使用 GitHub 原生功能 Action 的持續交付整合
另一個曾經使用過的
持續部署軟體是 Travis CI
但因 Travis CI 的免費開源版
於 2021/6 公告關站
並全面轉向企業版
故不再繼續使用
以下僅作紀錄
使用 Travis CI 部署
Travis CI是什麼?
Travis CI 是一個線上持續整合服務平台
目前已由免費開源轉向企業版網站
可使用免費方案但有點數限制
用完後如要繼續使用,需要付費
使用方法
直接按照以下參考連結進行
試著學 Hexo - 奇淫技巧 - 自動化部屬(Travis CI)
參考資料
試著學 Hexo - 奇淫技巧 - 自動化部屬(GitHub Actions)
使用 GitHub Actions 自動部署 Hexo
GitHub Action 自動部署 hexo