Hexo&github action持續部署
阿新 • • 發佈:2022-12-06
目的
- 為了免除日常新建hexo new,hexo s,hexo g,hexo d等繁瑣的書寫部署流程指令,同時為了更加註重於部落格內容本身而不是到新機器重新配置Hexo走一遍部署流程
持續整合 & 持續釋出 & 持續部署
- 舉個例子,就像流水線都有固定裝配步驟,從原材料持續生成成品進行交付。那也就是這個原理意思,當代碼有修改則從原始碼持續整合生成可釋出版本,再持續部署到主幹版本程式碼上
- 有利於儘早發現整合錯誤,避免過大分支最後整合的困難
新建Hexo原始碼庫
- 在你本地部落格根目錄下新建一個.gitignore檔案,內容如下:
.deploy_git node_modules public
- 到github上新建一個私有倉庫,專門用來存放你的Hexo原始碼。注意不是通過hexo d部署後的程式碼,而是同過push遠端倉庫的本地目錄原始碼,目前先不用push,建好倉庫就行
部署私鑰
- 在Hexo私有原始碼庫將git的私鑰進行新增,作為DEPLOY_KEY。位置:Settings > Secrets
新建存放Hexo部落格的公有庫
- 在github上新建一個公有倉庫,用來存放你生成的Hexo部落格,並使用github pages。具體做法在搭建hexo部落格的過程會接觸到,不細說。
新建hexo-deploy.xml
- 在本地hexo部落格根目錄下的.github資料夾下新建workflows資料夾,新建hexo-deploy.xml檔案。
- 具體書寫內容可參考 GitHub Action ~ Hexo Action
- 我個人修改內容如下:
...... # Deploy hexo blog website. - name: Deploy id: deploy uses: sma11black/[email protected] with: deploy_key: ${{ secrets.DEPLOY_KEY }} PUBLISH_REPOSITORY: # Hexo公共倉庫,格式:GitHub 使用者名稱/倉庫名 BRANCH: # Hexo公共倉庫分支,你生成部落格存放的分支 PUBLISH_DIR: ./public # 部署 public 目錄下的生成部落格檔案,預設不用修改 ......
- 然後將你的hexo原始碼push到遠端私有倉庫上
釋出文章
- 在你部落格本地目錄下的source資料夾內的_posts資料夾下盡情書寫部落格吧
- 寫完部落格通過關聯遠端Hexo私有原始碼庫進行push,github action檢測到分支變動會進行重新編譯並重新部署public下部落格內容到你的公有庫
- 當你換一臺機器進行部落格書寫,只需要關聯遠端原始碼庫進行pull下,就可以馬上進行內容書寫了
其他途徑方式
- Travis CI