0

糾正我,如果我錯了,但「構建」是一個「編譯」,並不是每個語言編譯。持續集成涉及構建組件,以查看它們是否繼續超越單元測試,這可能是過於簡單化了。但是如果你的項目涉及一種不能編譯的語言,你如何執行夜間編譯或使用持續集成技術?你能用PHP腳本或解釋型語言「建立」嗎?

回答

6

嗯......我將「建築」定義爲「準備,打包和部署軟件系統的所有工件」。編譯爲機器碼只是構建過程中的許多步驟之一。其他人可能會從scm-system中檢查最新版本的代碼,獲取外部依賴關係,根據軟件被部署到的目標設置配置值,並運行某種測試套件以確保您有「工作/運行構建「,然後再實際部署。

「Building」軟件可以/必須爲任何軟件完成,與編程語言無關。解析語言具有句法或結構(意思是調用具有錯誤參數的方法等)錯誤的「缺點」,通常只會在運行時檢測到(如果您的構建中沒有單獨的步驟來檢查此類錯誤,例如與PHPLint)。

因此(自動)測試用例(如單元測試 - 見PHPUnitSimpleTest - 和前端 - 測試 - 見Selenium)都是比較重要的大型PHP項目,以確保代碼的身體健康。

有一個偉大的構建工具(如Ant進行Java或耙爲Ruby)爲PHP太:Phing

CI-系統,如XincHudson只是用於自動的(如隨時更改簽入SCM )打包你的代碼,檢查它是否有明顯的錯誤,運行你的測試(簡而言之:運行你的構建)並將結果報告給你的開發團隊。

1

爲您當前的源控制中繼線創建每日標籤?