用 Github Actions 設置 CI/CD流程, The cloud resume challenge by Forest Brazeal – part4
Cloud Resume Challenge 的最後一個段落是用 CI/CD (Continuous Integration / Continuous Deployment) 來自動化程式的作業、測試和發佈流程。當軟體開發業務增加的同時,測試和發佈的作業量也會增加。若能有效使用工具將這流程自動化,則能讓程式的發發和發表更有快速。
常見的 CI/CD工具有 Jenkins、Travis CI、Azure Pipelines 等,最後我選擇熟悉平台的 Github Actions 來進行挑戰的最後一個部分。希望利用 Github Actions 來對 Python 程式碼進行測試、發佈等。
CI/CD 流程規劃 #
- 建立 .github/workflows/ ,啟用 GitHub Actions
- 測試 Python 程式碼
- 若上個步驟測試成功,則進行發佈
- 將發佈的程式碼更新到 S3 bucket
- 根據 Challenge 的建議,清除 CloudFront 快取
收穫 #
因為沒有軟體工程實務經驗,對於發佈自動化的工具完全沒有概念的時候用 Youtube 了解基礎概念和跟著影片操作實在是非常有幫助。如何在 marketplace 尋找相近的工具、調整成自己想要的形狀也是個很好的學習方式。
這個練習也需要注意資安問題,如何把各種 access key ,AWS credentials 等隱藏也是一門不一樣的課題。
結論 #
完成 CI/CD 發佈流程的同時,不只完成了程式的自動化部屬,也正式把 Cloud Resume Challenge 做一個結束。這個挑戰所涵蓋的領域超乎我的預期,也同時獲得想像之上的實作經驗。非常推薦對IT有基礎概念的人嘗試解題。