持續整合 / 持續交付&持續部署
持續整合 (Continuous Integration),簡稱 CI。
持續交付&持續部署 (Continuous Delivery & Continuous Deployment),簡稱 CD。
CI & CD 簡單來說就是盡量減少手動人力,將一些日常工作交給自動化工具。例如:環境建置、單元測試、日誌紀錄、產品部署。
流程規劃
Circle CI Configuration
Circle CI 使用的描述檔 circle.yml
,描述如何安裝套件、執行測試、建置、部署等工作
提供三種設定方式
- 由 CircleCI 根據不同語言自動產生設定
- 透過 Web UI 設定
- 自行撰寫
circle.yml
可以參考 CircleCI Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
test
描述要執行的測試
depolyment
描述要執行的部署
使用 sidekiq,machine 要加入 redis
Circle CI
選擇 Project
點選 Build project
會自動執行第一次建構
設定 AWS CodeDeploy
- [AWS] 建立 User
- [AWS] Attach Pollcy (AmazonEC2FullAccess)
- [CircleCI] Project Settings > AWS CodeDeploy 貼上 AWS Key ID / Secret Access Key
Slack Integration
參考 slack integration 教學
將 Webhook URL 貼到 Project Settings > NOTIFICATIONS > Chat Notifications > Slack
運行
GH 建立 PR 就會自動執行 RSpec 測試,測試通過即可點選 Merge
Slack 通知執行結果