Continuous Integration(CI)
對工程師來說CI的起點就是從coding上Git
而在AWS Codebuld上就可以用設定Github webhook的方式做到
讓指定Repo中每次的Pull Request或merge都觸發一次AWS的CI process
大家可以想像codebuild就是一台雲端Linux系統(worker) 我們只是寫documemt叫他做事(CI)
而CI process又是在哪邊定義的呢?
可以在Repo裡使用buildspace.yaml
yaml的格式規定可以參考官方文件(https://docs.aws.amazon.com/zh_tw/codebuild/latest/userguide/build-spec-ref.html)
yaml主要分成環境變數定義、安裝pkg、建置前的準備(權限、憑證等等)、建置階段(單元測試、打包與上版)、建置後的資訊流(結果)、測試報告(給codebuild吃)
每次CI的結果都會顯示結果
而多人協作的情況下就可以用pr number與hash來分辨是誰的code ci result
點進去目標ci result就可以看到自己的code在codebuild上做ci的所有log
而單元測試報告也會show出圖表
在codebuild上testing pass後就可以把src打包上版
各種語言都有自己打包的機制
打包完的執行檔就可以存到要release的地方
或是可以使用AWS的S3 Bucket(儲存桶)
可以把它想像成AWS版本的雲端硬碟啦XD
存到雲上某處後 就可以供需要的人下載pkg
以上就是最近做AWS CI的概念介紹
下篇再來講講較困難的CD….