1. 程式人生 > 其它 >今日學習內容總結4.8

今日學習內容總結4.8

持續整合

什麼是持續整合?

持續整合(Continuous integration,簡稱CI),整合指的是開發人員寫完程式碼後將這些程式碼進行編譯、打包等操作為在環境上部署做準備的過程。持續整合就是持續高效的進行整合。那麼為什麼要進行持續整合呢,這要從專案的開發過程說起。一個專案往往是分模組進行開發,每個人開發一小部分功能,如果等所有功能都開發完進行一次整合和部署那麼在程式設計師開發的過程中很難對系統的整體功能進行測試,那麼在開發的過程中很多問題都只能在開發完成後才識別到,此時再進行程式碼修改代價極高。比如一個哥們寫完程式碼沒進行編譯就合入了master,則可能會導致master編譯不通過。持續整合可以做到在短時間內(一般要求一天可進行多次整合)進行整體程式碼編譯、出包,當然在這個過程中還可以增加安全掃描、二進位制檔案差異對比等功能,攔截程式碼在開發過程中存在的問題。

持續整合的工具有哪些?

持續整合工具比較多,一般大型軟體公司會考慮自己開發自用CI工具,而大部分公司目前使用比較多的持續整合工具是Jenkins和Gitlab自帶持續整合工具,當然隨著雲服務的不斷演進各大雲服務平臺也推出了相應的CI/CD服務(不過一般是收費的)。

下面主要介紹一下Jenkins和Gitlab-CI/CD。

Jenkins

Jenkins可以說是目前最牛的開源CI/CD軟體,以下是Jenkins官方介紹:

Jenkins是開源CI&CD軟體領導者, 提供超過1000個外掛來支援構建、部署、自動化, 滿足任何專案的需要。Jenkins 支援各種執行方式,可通過系統包、Docker 或者通過一個獨立的 Java 程式。

官網地址:https://www.jenkins.io/zh/

Gitlab CI/CD

Gitlab CI/CD是Gitlab自帶的CI/CD工具,如果使用的Gitlab進行程式碼託管,則可以直接使用Gitlab CI/CD對master分支配置門禁流水,這樣在程式碼合庫時可以自動觸發相應構建,當然Jenkins也可以實現該功能,但是Jenkins則需要安裝相關外掛才行。