《GitHub》如何使用 GitHub Actions 自動部署 Hugo

更新於 發佈於 閱讀時間約 1 分鐘
目前網站是部署在 GitHub 的 repo
然後每次發表新文章時都要做以下動作:
  • 使用 Hugo 重新產生網站
  • 將原始檔案 commit 到 git
  • 將產生的檔案 commit 到 git
不過因為網站和 repo 都是託管在 GitHub,就想說是不是可以直接在 GitHub 上讓他自動部署就好,我只要把文件上傳上去,接著 CI 就幫我弄好了。
剛好之前 GitHub 就有推出 GitHub Actions,就是 GitHub 自己的 CI/CD 服務。剛好可以來試試看,然後一如往常這撞牆失敗好幾次,花了一兩小時終於把它弄好了。
本篇文章將不會介紹 GitHub Actoins 以及他各個細部指令,只會單純就我目前需要的情境做介紹。

目前更新文章的流程

第一個我先整理目前手動更新文章的流程:
  1. 撰寫新文章
  2. 將文章commit到文件repo
  3. 用Hugo產生靜態文件
  4. 將靜態文件commit到網站repo
基本上可以自動化的就是後面 3、4,我需要他 commit 到 github repo 上後,直接用 GitHub Actions 幫我做完後面的 3、4。

更新文章流程自動化

avatar-img
1會員
5內容數
身為一個軟體工程師,在現今如此快速變化的世界中,該如何確保自生不被滅亡呢?
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
工法人的沙龍 的其他內容
在 Elixir 裡要怎麼架設 HTTP 伺服器呢?
最近又重新開始學 Elixir,這時遇到一個問題:在 Elixir 裡面要怎麼建立函式,還有函式要怎麼回傳值?首先這要從 Elixir 有兩種函數類型說起:匿名函式(Anonymous Functions)、具名函示(Named Functions)
最近開始接觸 Elixir 這門語言,語法風格接近 Ruby。而他有一種動靜皆備的特性,老實說還蠻吸引我的。
在 Elixir 裡要怎麼架設 HTTP 伺服器呢?
最近又重新開始學 Elixir,這時遇到一個問題:在 Elixir 裡面要怎麼建立函式,還有函式要怎麼回傳值?首先這要從 Elixir 有兩種函數類型說起:匿名函式(Anonymous Functions)、具名函示(Named Functions)
最近開始接觸 Elixir 這門語言,語法風格接近 Ruby。而他有一種動靜皆備的特性,老實說還蠻吸引我的。
你可能也想看
Google News 追蹤
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
Thumbnail
這個自定義的 GitHub CLI 自動完成腳本提升了 `gh repo clone` 指令的使用體驗,支援儲存庫名稱和 `git clone` 選項的自動補全,有效減少輸入錯誤和時間浪費。腳本支援 bash 和 zsh,安裝簡單,並提供詳細的安裝和測試步驟。
Thumbnail
PM2.5空品微型感測器監測地圖 民間的高手似乎懂一般人的需求! 多了一個可以看,目前所在地附近的空品(PM25)監測地圖。 如何使用? 建議縣市篩選功能先用預設“所有”,再按下“自動加載資料”地圖上的點就會越來越多。 手機開啟網頁,蠻適合直接截圖! 體驗心得 如此一來每個
Thumbnail
本篇文章介紹如何在 Jetson Nano 環境 Ubuntu 2.0 使用 git 及 github.com 進行版本控管。文章快速說明如何安裝、建立版本控管目錄及使用常用的指令。透過簡單的步驟,讀者將能夠有效地管理其程式碼版本,提升開發效率。
更新專案的指令有: 01 `git fetch` 來對專案做「更新 Update」。 02 `git push` 來分享你對專案的「變更 Change」[3]。 03 `git remote` 來管理遠端的儲存庫。 有趣的是,fetch 這個字源於古英語的"fetan", 表示拿來,取回來的意思。
Thumbnail
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
1. Outline Takeaway Setting up Git and verifying installation Configuring your Git username and email Initializing a new Git repository Stagin
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
※ 需要做版本備份時: git init:初始化此資料夾,由git 開始追蹤版本控制。 git add:將檔案加入到暫存區。 git commit:把暫存區的內容提交到儲存庫。 git status:查看目前所有檔案的狀態。 git log:查看過去所有commit的記錄。 ※ 需要做修
B 文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 文組女生可以透過以下方式善用 Figma 和 GitHub: #Figma Figma 是一款線上設計工具, 可用於製作網頁、應用程式、介面設計等。 文組女生可以使用 F
Thumbnail
c文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 文組女生可以善用 Figma 和 GitHub 來提升團隊協作和專案管理的效率。以下是一些建議: #Figma: 設計協作: Figma 是一個協作性極強的設
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
Thumbnail
這個自定義的 GitHub CLI 自動完成腳本提升了 `gh repo clone` 指令的使用體驗,支援儲存庫名稱和 `git clone` 選項的自動補全,有效減少輸入錯誤和時間浪費。腳本支援 bash 和 zsh,安裝簡單,並提供詳細的安裝和測試步驟。
Thumbnail
PM2.5空品微型感測器監測地圖 民間的高手似乎懂一般人的需求! 多了一個可以看,目前所在地附近的空品(PM25)監測地圖。 如何使用? 建議縣市篩選功能先用預設“所有”,再按下“自動加載資料”地圖上的點就會越來越多。 手機開啟網頁,蠻適合直接截圖! 體驗心得 如此一來每個
Thumbnail
本篇文章介紹如何在 Jetson Nano 環境 Ubuntu 2.0 使用 git 及 github.com 進行版本控管。文章快速說明如何安裝、建立版本控管目錄及使用常用的指令。透過簡單的步驟,讀者將能夠有效地管理其程式碼版本,提升開發效率。
更新專案的指令有: 01 `git fetch` 來對專案做「更新 Update」。 02 `git push` 來分享你對專案的「變更 Change」[3]。 03 `git remote` 來管理遠端的儲存庫。 有趣的是,fetch 這個字源於古英語的"fetan", 表示拿來,取回來的意思。
Thumbnail
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
1. Outline Takeaway Setting up Git and verifying installation Configuring your Git username and email Initializing a new Git repository Stagin
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
※ 需要做版本備份時: git init:初始化此資料夾,由git 開始追蹤版本控制。 git add:將檔案加入到暫存區。 git commit:把暫存區的內容提交到儲存庫。 git status:查看目前所有檔案的狀態。 git log:查看過去所有commit的記錄。 ※ 需要做修
B 文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 文組女生可以透過以下方式善用 Figma 和 GitHub: #Figma Figma 是一款線上設計工具, 可用於製作網頁、應用程式、介面設計等。 文組女生可以使用 F
Thumbnail
c文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 文組女生可以善用 Figma 和 GitHub 來提升團隊協作和專案管理的效率。以下是一些建議: #Figma: 設計協作: Figma 是一個協作性極強的設