用 Github Actions 設置 CI/CD流程, The cloud resume challenge by Forest Brazeal – part4

AWS, TheCloudResumeChallenge

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 流程規劃 #

The cloud resume challenge by Forest Brazeal – part4

  1. 建立 .github/workflows/ ,啟用 GitHub Actions
  2. 測試 Python 程式碼
  3. 若上個步驟測試成功,則進行發佈
  4. 將發佈的程式碼更新到 S3 bucket
  5. 根據 Challenge 的建議,清除 CloudFront 快取

 


 

收穫 #

因為沒有軟體工程實務經驗,對於發佈自動化的工具完全沒有概念的時候用 Youtube 了解基礎概念和跟著影片操作實在是非常有幫助。如何在 marketplace 尋找相近的工具、調整成自己想要的形狀也是個很好的學習方式。

這個練習也需要注意資安問題,如何把各種 access key ,AWS credentials 等隱藏也是一門不一樣的課題。

 


 

結論 #

完成 CI/CD 發佈流程的同時,不只完成了程式的自動化部屬,也正式把 Cloud Resume Challenge 做一個結束。這個挑戰所涵蓋的領域超乎我的預期,也同時獲得想像之上的實作經驗。非常推薦對IT有基礎概念的人嘗試解題。