Docker|持續集成

基本概念

敏捷開發

什麼是敏捷開發?

敏捷開發(Agile)是一種以人爲核心、迭代、循序漸進的開發方法。

在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特徵。

簡單地來說,敏捷開發並不追求前期完美的設計、完美編碼,而是力求在很短的週期內開發出產品的核心功能,儘早發佈出可用的版本。然後在後續的生產週期內,按照新需求不斷迭代升級,完善產品。

參考文章:http://blog.jobbole.com/110231/

持續集成

持續集成指的是,頻繁地(一天多次)將代碼集成到主幹。
它的好處主要有兩個:

快速發現錯誤。每完成一點更新,就集成到主幹,可以快速發現錯誤,定位錯誤也比較容易。
防止分支大幅偏離主幹。如果不是經常集成,主幹又在不斷更新,會導致以後集成的難度變大,甚至難以集成。

Martin Fowler 說過,"持續集成並不能消除 Bug,而是讓它們非常容易發現和改正。"

持續交付

持續交付(Continuous delivery)指的是,頻繁地將軟件的新版本,交付給質量團隊或者用戶,以供評審。如果評審通過,代碼就進入生產階段。

持續交付可以看作持續集成的下一步。它強調的是,不管怎麼更新,軟件是隨時隨地可以交付的。

持續部署

持續部署(continuous deployment)是持續交付的下一步,指的是代碼通過評審以後,自動部署到生產環境。

持續部署的目標是,代碼在任何時刻都是可部署的,可以進入生產階段。

持續部署的前提是能自動化完成測試、構建、部署等步驟。

基本操作流程

總體流程:
1.配置好GitRunner腳本和docker相關文件提交到 GitLab
2.提交就會觸發GitRunner程序,自動下載代碼,然後根據腳本進行編譯構建,運行。
總的目標:
實現提交代碼就可以集成到測試環境中,無需我們再像以前那樣,需要自己安裝什麼環境,下載代碼,編譯構建等操作,完全自動處理

大概就是流程如下圖:

實戰操作

此類實戰文字無法描述,推薦以下教程視頻或者你可以找一下相關資源:
https://www.bilibili.com/vide...

或者文末公衆號有相關docker視頻教程。

總結

docker 一次構建,到處運行。隔離機制,與運行環境無關。
因爲這些特點,就不會出現我們平時說的:“在我的電腦上運行沒問題的呀
由於隔離機制,所以不用擔心CPU多少核,系統是Linux或者windows,你只要有docker其他的都沒有影響。

最後

如果對 Java、大數據感興趣請長按二維碼關注一波,我會努力帶給你們價值。覺得對你哪怕有一丁點幫助的請幫忙點個贊或者轉發哦。
關注公衆號【n平方】,回覆2019有相關視頻教程哦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章