我想分享我建立一個自我永續的內容管理系統的旅程,該系統不需要傳統意義上的內容資料庫。
本網站的內容(部落格文章和書籤)儲存在 Notion 資料庫中:
我試圖解決的問題是不必在添加每個書籤後手動部署網站。最重要的是 - 保持託管盡可能便宜,因為對我來說,添加到我的 Notion 資料庫中的書籤最終上線的速度有多快並不重要。
所以,經過一些研究,我想出了以下設定:
該系統由幾個組件組成:
讓我們從內到外詳細研究它們中的每一個。
這裡沒什麼好說的,相當標準的設置, – 當推送到主分支時,此工作流程會建立應用程式並使用 Wrangler CLI 將其部署到 Cloudflare Pages:
此工作流程只能「手動」觸發…但也可以自動觸發,因為您可以使用 GitHub 個人存取權杖(又稱 PAT)觸發它。我最初編寫它是因為我想從我的手機部署更改。它使用 Notion API 下載帖子和書籤,然後 - 如果程式碼庫有任何更改 - 建立提交並推送它。為了正常運行,此工作流程必須提供具有儲存庫「讀取和寫入程式碼存取權限」的 PAT:
這個非常簡單:它只是每隔一段時間運行一次並觸發上面的工作流程。為了正常運行,此工作流程必須提供一個 GitHub PAT,該 PAT 具有儲存庫的「actions讀寫存取權限」。就我而言,這是一個不同的 PAT:
對我來說,這個設定已被證明非常好且靈活。由於模組化結構,“更新內容”操作可以手動觸發 - 例如旅行時從我的手機上。對我來說,這是另一個逐步增強工作流程的寶貴經驗。
希望您覺得這有幫助?
以上是透過 GitHub Actions 按計畫更新網站內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!