Re: [請益] 這些軟體工程的方法在台灣的普及度?
[前後刪掉一些]
※ 引述《Wolfken ()》之銘言:
: CI的兩個phase是大量自動化的重點所在。commit phase包括build跟unit test,還有少
: 量基本的functional test。基本要求是在15分鐘內完成,所以當新code進來時,可以快
: 速的利用unit test確認沒有問題。通過commit phase的build會進入automated
: acceptance phase,這邊是functional test主要跑的地方,要求是30~60分鐘內要跑完。
: 除了自動化以外,CI的重點是圍繞在自動化pipeline建立一套流程跟紀律,並且搭配新
: 的文化和想法。舊的方法是build永遠都是處於紅燈(fail)狀態,直到最後要release才
: 會變綠燈。CI要求build永遠是綠燈,只要任何新code讓它變成紅燈,所有人要停下手
: 邊的工作,馬上去修正它。這是從Toyota的stop the line學來的,Toyota的產線工人
: 只要發現問題,可以馬上要求整個生產線停下來,先去處理這個問題。如果commit phase
: 出問題,開發者有十分鐘可以修正,十分鐘修正不了就是roll back。acceptance phase
: 出問題則有25~30分鐘。
我前一家公司有類似作法,
不過它是間IC設計公司,不是純軟.
那套系統是併購英國公司後,導入他們的軟體流程.
略有差異的地方在於, 他要求我們commit code之前, 先丟test server.
test server做的就包含 build + unit test + 部份function test.
要等到test server送來pass的 email, 你才能commit.
這種作法經常會有個瓶頸,就是test server要排隊等測試.
但相對來說變紅燈的機率似乎會比較低?
依個人的使用經驗, 只要系統強制要求要保持在綠燈狀態,
工程師自然會勤於commit, 因為你不時常commit, 別人會一直commit,
然後你想commit時就要一直merge
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.237.236
推
01/29 23:22, , 1F
01/29 23:22, 1F
推
01/29 23:25, , 2F
01/29 23:25, 2F
推
01/29 23:47, , 3F
01/29 23:47, 3F
→
01/29 23:48, , 4F
01/29 23:48, 4F
→
01/29 23:48, , 5F
01/29 23:48, 5F
推
01/30 08:57, , 6F
01/30 08:57, 6F
→
01/30 08:58, , 7F
01/30 08:58, 7F
推
02/01 09:38, , 8F
02/01 09:38, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):