什麼是 DevOps
在開始聊 CI 前,先來談談 DevOps 。 DevOps 簡而言之,就是 Development + Operations ,也就是開發與維運。但大部分的文章都會說是「開發」「測試」「維運」三者的結合。如同下面這張圖想表示的意義一樣,當三者有了交集,即是 DevOps source: wiki DevOps 也像是 Agile 的延伸,從它的歷史與目的可以觀察的到。王立恒 為什麼會出現DevOps? 一文有提到: Patrick Debois 了解到,開發團隊與維運團隊不僅中間像隔了座山,運作方面還處處衝突。 因為先前已有 Agile 開發的經驗了,所以這時有人覺得不對勁,怎麼會在維運這關卡著呢?於是有人開始思考,會不會有更好的解決方法,於是: John Allspaw 跟 Paul Hammond 認為打造新一代軟體的方法應該是讓開發團隊及維運團隊兩個都變得透明,並將兩者互相整合在一起。 想法跟大部分的 Agile 方法類似: 提高透明度,並整合兩者 。可想而知,團隊間的資訊越透明,整合度越高,發生衝突的機率會越小,而 DevOps 最初的目標,正是要解決 Dev & Ops 之間的衝突!雖然文章內並沒有提到測試角度的說法,不過約略可以猜想的到:測試是必要流程,有專業人員,並且它也是個需要跟開發與維運緊密合作的重要角色,因此測試也常出現在 DevOps 的討論範圍,如同 wiki 上的示意圖。 DevOps 想要達成的目標為何? 從 Patrick Debois 發現的問題與參考葉大 一句話囊括 DevOps 的目標 一文,可以了解,最大的目標即為 速度 。「天下武功,唯快不破」,從發現需求到產品上線的時間越短,能得到的回饋與市場也就越大;但快還不夠,還要好,也就是要有 品質 !如果只有快,而沒有品質,只是更快把 bug 上線,並破壞企業名聲而已。如何兼顧速度與品質,即為 DevOps 的主要目標。 DevOps 到底在做什麼? 為何會出現 DevOps ,相信已經有個感覺了。那它究竟在做些什麼事呢? 有文章會提到用 CALMS 的角度來說明 DevOps 的要領,這是下列五個英文單...