本週,我深入研究了使用 GitHub Actions 設定持續整合 (CI) 管道,同時也擴充了我的專案 VShell 的單元測試套件。這個過程增強了我對 CI 原理、自動化測試以及幫助開發人員確保可靠程式碼交付的工具的理解。
持續整合是一種開發實踐,其中程式碼變更會自動測試並頻繁地整合到共用儲存庫中。透過利用 CI 管道,開發人員可以在開發週期的早期檢測並解決問題,從而提高程式碼品質並降低整合風險。 CI/CD 管道使我們能夠自動建置、測試和部署應用程序,從而加速開發並提高可靠性。
有許多可用的 CI 工具——Jenkins、CircleCI、TravisCI 和 GitLab CI 等——但本週,我專注於 GitHub Actions 來為我的應用程式實現 CI/CD。 GitHub Actions 直接在 GitHub 中提供整合、簡單的設置,使其成為我的專案的絕佳選擇。
為我的專案配置 GitHub 操作 為了設定 CI 管道,我導航到 GitHub 儲存庫的「操作」標籤並選擇 Node.js 模板,因為我的應用程式是基於 JavaScript 並在 Node.js 上運行。這產生了一個定義 CI 管道行為的 .yml 設定檔。
理解 YAML 配置 對於 CI 新手來說,.yml 檔案可能看起來令人生畏。以下是其工作原理的詳細說明:
觸發管道:管道設定為在向主分支發出推送或拉取請求時運行,使用 on 關鍵字定義這些觸發器。
定義作業:設定包含觸發 CI 管道時執行的一系列作業。這些作業指定 Ubuntu 作業系統建置環境,跨不同 Node.js 版本進行測試,並包含設定和執行執行時間環境的步驟。最後,自動執行測試來驗證程式碼。
環境變數配置在我的初始管道設定期間,我遇到了與 GROQ_API_KEY 相關的錯誤,這對於某些測試至關重要並在我的本地 .env 檔案中定義。雖然測試在本地順利運行,但 GitHub Actions 無法存取該變量,導致運行失敗。
解決方案:設定 GitHub 機密 為了解決此問題,我在 GitHub 儲存庫設定中為 API 金鑰配置了一個機密變數。以下是修復的快速摘要:
以上是使用 GitHub Actions 為 VShell 實作 CI 管道的詳細內容。更多資訊請關注PHP中文網其他相關文章!