交付后,就先進(jìn)行構建(build),再進(jìn)入第二輪測試。所謂構建,指的是將源碼轉換為可以運行的實(shí)際代碼,比如安裝依賴(lài),配置各種資源(樣式表、JS 腳本、圖片)等等。
常用的構建工具如下。
Jenkins 和 Strider 是開(kāi)源軟件,Travis 和 Codeship 對于開(kāi)源項目可以免費使用。它們都會(huì )將構建和測試,在一次運行中執行完成。
4. 4 測試(第二輪)
構建完成,就要進(jìn)行第二輪測試。如果第一輪已經(jīng)涵蓋了所有測試內容,第二輪可以省略,當然,這時(shí)構建步驟也要移到第一輪測試前面。
第二輪是全面測試,單元測試和集成測試都會(huì )跑,有條件的話(huà),也要做端對端測試。所有測試以自動(dòng)化為主,少數無(wú)法自動(dòng)化的測試用例,就要人工跑。
需要強調的是,新版本的每一個(gè)更新點(diǎn)都必須測試到。如果測試的覆蓋率不高,進(jìn)入后面的部署階段后,很可能會(huì )出現嚴重的問(wèn)題。
4. 5 部署
通過(guò)了第二輪測試,當前代碼就是一個(gè)可以直接部署的版本(artifact)。將這個(gè)版本的所有文件打包( tar filename.tar *
)存檔,發(fā)到生產(chǎn)服務(wù)器。
生產(chǎn)服務(wù)器將打包文件,解包成本地的一個(gè)目錄,再將運行路徑的符號鏈接(symlink)指向這個(gè)目錄,然后重新啟動(dòng)應用。這方面的部署工具有 Ansible,Chef
原文轉自:http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html