2009-01-20 112 views

回答

46

This是迄今爲止我讀到的最好的解釋。

+7

福勒幾乎總是有最好的解釋=) – Rulas 2009-01-20 23:35:30

+0

我對他對事物的想法感到驚訝! CLEAR – Perpetualcoder 2009-01-21 01:07:22

5

這是一種確保您的軟件開發過程的所有方面都排列起來以允許每日創建您的產品的工作版本的做法。它被稱爲極限編程的一部分。

這涉及到構建自動化,自動化測試,日常檢查,使用源代碼存儲庫等方面的事情。但最終目標是幫助整個項目按照核心敏捷原則運行,以便交付早期和經常。這反過來又幫助您充分利用用戶的反饋意見等。

7

最簡單的方法是,只要將檢入項製作成一些版本控制系統(CVS等),就可以重建項目。這可以擴展到包括運行測試,一直到生成CD映像,將其安裝在VM中,安裝產品並對其執行完整測試。

它具有突出顯示代碼更改時儘可能早地破壞系統的簡單優勢。它不僅檢測代碼中的中斷,還突出顯示誰造成了中斷。這種心理效應在簽入之前鼓勵好的測試非常有效!

2

+1鏈接到福勒的頁面。我個人認爲只要有東西沒有編譯就知道它「很好」,因爲我們有一個單一版本(是的,我們在生產版本上開發;我們很棒)的糟糕做法。在我離開之前,我們還沒有完成綜合測試階段。

過了一段時間,它確實減少了大量編碼更改(與「檢查並祈禱我的更改不會發生衝突」相比)。最終,大多數開發人員爲了從CC.Net托盤圖標中獲得確認而開始進行小的更改。總體而言,我發現非常讓人欣慰的是,如果我們不得不這樣做,我們可以立即發送一個構建。如果我們只進行了幾次煙霧測試,我認爲壓力水平會大幅降低。

-1

只是爲了刷新。此時,持續集成(CI)和持續交付(CD)之間存在巨大差異。雖然大多數上述CD的帖子我會嘗試展示CI現在如何擴展CD定義。擁有構建軟件包並自動部署新版應用程序所需的所有工具是CD的重要組成部分。除了這種測試自動化(基於三級驗證:常規健康檢查,詳細統計和歷史條目)和正確的治理之外,您還可以創建一個非常好的CI。僅僅因爲這樣一個擴展的定義才能建立非凡的雲工具。想想muleESB或esbeetle.com。儘管只有第二個支持ESB和ETL組件,但它們都是自然的。

我希望它有幫助。