讀古今文學網 > Maven實戰 > 1.1.1 何為構建 >

1.1.1 何為構建

不管你是否意識到,構建(build)是每一位程序員每天都在做的工作。早上來到公司,我們做的第一件事情就是從源碼庫簽出最新的源碼,然後進行單元測試,如果發現失敗的測試,會找相關的同事一起調試,修復錯誤代碼。接著回到自己的工作上來,編寫自己的單元測試及產品代碼,我們會感激IDE隨時報出的編譯錯誤提示。

忙到午飯時間,代碼編寫得差不多了,測試也通過了,開心地享用午餐,然後休息。下午先在昏昏沉沉中開了個例會,會議結束後喝杯咖啡繼續工作。剛才在會上經理要求看測試報告,於是找了相關工具集成進IDE,生成了像模像樣的測試覆蓋率報告,接著發了一封電子郵件給經理,鬆了口氣。誰料QA小組又發過來了幾個bug,沒辦法,先本地重現再說,於是熟練地用IDE生成了一個WAR包,部署到Web容器下,啟動容器。看到熟悉的界面了,遵循bug報告,一步步重現了bug……快下班的時候,bug修好了,提交代碼,通知QA小組,在愉快中結束了一天的工作。

仔細總結一下,我們會發現,除了編寫源代碼,我們每天有相當一部分時間花在了編譯、運行單元測試、生成文檔、打包和部署等煩瑣且不起眼的工作上,這就是構建。如果我們現在還手工這樣做,那成本也太高了,於是有人用軟件的方法讓這一系列工作完全自動化,使得軟件的構建可以像全自動流水線一樣,只需要一條簡單的命令,所有煩瑣的步驟都能夠自動完成,很快就能得到最終結果。