GitHub Actions
使用 GitHub Pages 建立 Jekyll 網站時,標準流程會受到限制,原因是出於安全考量,並讓網站設定更為簡便。若要更進一步控制建置並仍使用 GitHub Pages 來主機網站,你可以使用 GitHub Actions。
使用 Actions 的優點
控制 gemset
- Jekyll 版本 — 除了使用 GitHub Pages 提供的傳統版本
3.9.3
,你也可以使用任何你想要的 Jekyll 版本。例如4.3.3
,或直接指向儲存庫。 - 外掛程式 — 你可以使用任何 Jekyll 外掛程式,不論它們是否在 支援版本 清單中,甚至包括放置在網站
_plugins
目錄中的*.rb
檔案。 - 佈景主題 — 雖然在沒有 Actions 的情況下也可以使用自訂佈景主題,但現在會更簡單。
工作流程管理
- 自訂 — 透過建立工作流程檔案來執行 Actions,你可以指定自訂建置步驟,使用環境變數。
- 記錄 — 建置記錄是可見的,而且可以調整為詳細模式,因此使用 Actions 偵錯錯誤會容易許多。
工作區設定
第一個也是最重要的需求是託管在 GitHub 上的 Jekyll 專案。選擇現有的 Jekyll 專案,或遵循 快速入門,並將儲存庫推送到 GitHub(如果尚未託管在 GitHub 上)。
我們將在這個頁面的其餘部分使用的 Jekyll 網站最初只包含一個 _config.yml
、一個 index.md
頁面和一個 Gemfile
。其內容分別是
# _config.yml
title: "Jekyll Actions Demo"
---
---
Welcome to My Home Page
{% assign date = '2020-04-13T10:20:00Z' %}
- Original date - {{ date }}
- With timeago filter - {{ date | timeago }}
# Gemfile
source 'https://rubygems.org'
gem "jekyll", "~> 4.2"
group :jekyll_plugins do
gem "jekyll-timeago", "~> 0.13.1"
end
示範網站使用 Jekyll 4 和 第三方外掛程式,這兩個目前都未列入 GitHub 頁面使用白名單。這個外掛程式將允許我們描述某個日期距離今天有多久。例如,如果我們提供一個日期為 2016-03-23T10:20:00Z
,而目前的日期是 2020-04-13T10:20:00Z
,那麼輸出結果將會是 4 年 3 週前
。
我們使用的動作會負責安裝 Ruby 寶石和相依性。雖然這讓使用者可以輕鬆設定,但如果使用者也檢查 Gemfile.lock
(如果它是使用舊版本的 Bundler 所產生),他們可能會遇到問題。
設定動作
- 前往儲存庫的設定索引標籤。
- 在程式碼和自動化下方按一下頁面。
- 在建置和部署下方,將來源從從分支部署變更為GitHub Actions。
- 前往儲存庫的動作索引標籤。
- 開始一個新的工作流程並搜尋Jekyll。
- 按一下Jekyll工作流程(而非GitHub Pages Jekyll工作流程)下的設定。
- 檢閱變更,然後按一下提交變更。
建置並部署
將任何本機變更推送到預設分支時,動作會觸發,而且建置會開始。
若要觀看進度並查看任何建置錯誤,請使用下列其中一種方式查看建置狀態
- 按提交檢視
- 前往 GitHub 中的儲存庫層級檢視。在最新提交(接近頂端)下方,您會看到提交訊息旁的狀態符號,顯示為勾號或X。將滑鼠游標懸停在上面,然後按一下詳細資料連結。
- 動作索引標籤
- 前往儲存庫的動作索引標籤。按一下
jekyll
工作流程索引標籤。
- 前往儲存庫的動作索引標籤。按一下
如果一切順利,所有步驟都會顯示為綠色,而且建置的資產會上傳至 GitHub Pages。
若要查看實際網站,請前往儲存庫上的部署索引標籤,然後按一下已部署的網站 URL。
當您需要對網站進行進一步變更時,請提交至預設分支並推送。工作流程會再次建置並部署您的網站。
外部連結
- starter-workflows是提供本指南中所使用的工作流程範本的官方儲存庫。