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