dev ops 簡介
TRANSCRIPT
DevOps 簡單介紹
Hugo
DevOps是什麼?
• DevOps = Development + Operations
• [Wiki] DevOps是⼀一組過程、⽅方法與系統的統稱,⽤用於促進開發、技術運營和質量保障部⾨門之間的溝通、協作與整合。它的出現是由於軟體⾏行業⽇日益清晰地認識到:為了按時交付軟體產品和服務,開發和運營⼯工作必須緊密合作。
打破部⾨門間的⾼高牆
Code Build Test Release Deploy Operate
Dev Ops?
Code Build Test Release Deploy Operate
DevOps
與其介紹 DevOps 我想說的其實是 CD
Continuous Delivery (持續交付)
來談談如何 快速交付⾼高品質的軟體
的⽅方法
說得⽐比做得好聽
事實上,不只好聽⽽而且好玩
Store Load
Play
所有內容做版本控制• Source Code
• Test Code
• Build Script
• Deploy Script
• Compiler/Toolchain
• Libraries
• Third Party Application
• Servers
• Database Schema
• Configuration Files
• Environment Infrastructure as Code
所有流程做到⾃自動化
• Build Automation
• Deploy Automation (部署到測試環境)
• Test Automation
• Release Automation (發布到⽣生產環境)
時間⼈人⼒力花在⼑刀⼝口上
⾃自動
功能性驗收測試
⼿手動
演⽰示 易⽤用性測試 探索性測試
單元測試 整合測試 系統測試
⾃自動
⾮非功能性驗收測試 容量測試 安全性測試
⼿手動/⾃自動
業務導向
技術導向
開發過程 評判專案
任何變更都觸發驗證
頻繁地⾃自動化發布 就能快速破關、拿⾼高分
DevOps單元測試
⾃自動化
驗收測試
版本控制
持續整合
探索性測試
容量測試
頻繁發布
配置管理
代碼分析
冒煙測試虛擬化
依賴注⼊入
單元測試看起來像...
驗收測試看起來像...Feature: 瀏覽權限
Scenario: 有權限瀏覽紀錄 Given 設定可視網段192.168.1.0/24 And 資料庫有⼀一筆192.168.1.10的紀錄 When 使⽤用者按下查詢按鈕 Then 顯⽰示 1 筆連線紀錄
Scenario: 無權限瀏覽紀錄 Given 設定可視網段192.168.1.0/24 And 資料庫有⼀一筆192.168.2.10的紀錄 When 我按下查詢按鈕 Then 顯⽰示 0 筆連線紀錄
版本控制看起來像...
⾃自動部署看起來像...
虛擬化看起來像...
參考資料• 為什麼會出現DevOps?
http://www.ithome.com.tw/news/96861
• Continuous Delivery (中⽂文版) http://www.books.com.tw/products/0010653820
• Continuous Integration (英⽂文版) http://www.books.com.tw/products/F010981911
• User Story / ATDD / BDD / TDD - 總結https://msdn.microsoft.com/zh-tw/library/dn308252.aspx