Hugo 使用 GitHub Actions 部署到 GithHb Pages 和 腾讯云 cos 桶
目录
警告
本文最后更新于 2023-07-07,文中内容可能已过时。
解決痛點
Github Actions 真是靜態博客的福音,有了它 hugo, hexo 等博客構建過程可以丟給 Github 的服務器幫我們做了。
也就是説實現了在線寫靜態博客的需求。
也就是説實現了在線寫靜態博客的需求。
準備
工作流程涉及到兩個倉庫和一個 cos 桶,例如:
- Lruihao/hugo-blog # Blog source repository
- Lruihao/lruihao.github.io # GitHub pages repository
- blog-1256932288 # COS bucket
Github Actions
創建 workflows 任務
創建 hugo-site/.github/workflows/deploy.yml
, 這個文件會寫一些命令告訴 Github 在我們提交源碼的時候,它要幫我們做哪些事情。
|
|
配置 Github Pages 密鑰
- 為了讓 Lruihao/hugo-blog 提交代碼后自動部署到 Lruihao/lruihao.github.io, 需要生成一對 ssh key.
1 2 3 4
ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N "" # You will get 2 files: # gh-pages.pub (public key) # gh-pages (private key)
- 打開 Lruihao/hugo-blog 倉庫的 settings, 再点击 Secrets, 然後添加 private key, name 为
GP_DEPLOY_KEY
- 打開 Lruihao/lruihao.github.io, 点击 Deploy keys, 添加 public key, name 隨意,
Allow write access
一定要勾上,否則無法提交
配置 COS 密鑰
打開 Lruihao/hugo-blog 倉庫的 settings, 再点击 Secrets, 然後添加 COS 桶的 secret_id
和 secret_key
:
- COS_SECRET_ID
- COS_SECRET_KEY
至此,Github Pages 和 COS 都已經可以通過 Github Actions 自動部署了,有部署記錄后,
打開 Lruihao/hugo-blog -> Actions 可以看到構建過程和結果,構建失敗也會收到 Github 發給你的郵件。
COS 自動同步 (備用)
本小節內容和 Github Actions 無關,僅作為 COS 備用上傳方式。
- COSBrowser
- 下載 COS 官方軟件 COSBrowser
- 點開右上角 工具箱
- 選擇 文件同步
- 選擇 本地文件夹 eg.
hugo-site/public
- 選擇 存储桶目录
- 同步类型:單次同步、自動同步、定時同步
同步前先執行 hugo 構建命令,eg.
hugo --minify
有 Github actions 選單次同步就好,在 Github 不好用時可用。
Buy me a coffee~
支付宝
微信