發表文章

目前顯示的是 四月, 2015的文章

DevOps:持續整合&持續交付(Docker、CircleCI、AWS)

圖片
這篇文章將一步一步介紹如何使用 Docker、GitHub Flow、CircleCI、AWS Elastic Beanstalk 與 Slack 來完成持續整合持續交付的開發流程。
前言 什麼是持續整合&持續交付? 持續整合&持續交付(Continuous Integration & Continous Delivery),簡稱 CI & CD,具體介紹可以參考「山姆鍋對持續整合、持續部署、持續交付的定義」這篇文章。
簡單來說就是盡量減少手動人力,將一些日常工作交給自動化工具。例如:環境建置、單元測試、日誌紀錄、產品部署。
我使用了哪些工具?Git - 版本管理GitHub - 程式碼託管、審查CircleCI - 自動化建置、測試、部署Docker - 可攜式、輕量級的執行環境AWS Elastic Beanstalk - 雲端平台Slack - 團隊溝通、日誌、通知 看完這篇你可以學到什麼?瞭解 GiHub 的工作流程(GitHub Flow),利用 Pull Request 以及分支來完成代碼審查(Code Review)與環境配置,例如:開發版(development)、測試版(testing/QA)、上線產品(staging/production)。使用 Docker,統一開發者、測試人員、以及產品的執行環境。使用 EB CLI 將應用程式部署到 AWS Elastic Beanstalk 平台上。使用 CircleCI 將以上工作全部自動化。偵測 GitHub 分支上的程式碼,若有更新則觸發:建置 Docker 環境、單元測試、然後自動部署新版本到 AWS EB。使用 Slack,讓團隊成員能夠即時接收 GitHub 與 CircleCI 每一項動作的通知。 內容大綱Node.js在本地端執行 Node.js在本地端測試 Node.jsGitHubCircleCI在 CircleCI 測試 Node.jsCode Review with GitHub FlowDocker在 Docker 執行 Node.js在 CircleCI 測試 DockerAWS Elastic Beanstalk在本地端部署 AWS在 CircleCI 部署 AWSSlack Node.js 安裝:
node: 0.10 這篇文章以 Node.js 的應用…