您現在的位置是:首頁 > 武術

Docker+jenkins小知識,講解通俗易懂,有必要收藏

  • 由 軟體測試技術之美 發表于 武術
  • 2023-01-19
簡介為什麼想要將docker與jenkins結合起來,在我們設計的場景裡,就是想利用jenkins這種強大的CI工具的特性,我們能夠獲得這種持續構建的便利,這也是jenkins作為傳統的一種應用場景,但是傳統構建的應用場景一般跑在獨立的伺服器上

docker是什麼通俗易懂

今天主要與大家分享關於Docker持續整合開發環境的搭建過程。持續整合是軟體開發中一個非常重要的環節,我們都知道持續整合的這種方式,不僅僅是影響軟體開發的效率,實際上還會對我們軟體開發的流程會產生一定的影響,例如:我們所選擇的構建的方式,那麼你的應用程式的部署的方式,軟體開發與測試需要不斷地對應用進行持續構建,這些都會受我們持續整合的構建的方案所影響。有些人可能會想,持續構建很熟悉基本上也就是基於jenkins,沒錯jenkins確實是目前持續整合中最為流程也比較常見的一種解決方案,不過我們今天並不是僅僅單純地講jenkins,而是想再引入另外一個比較新穎也比較火的概念,也就是docker,對於熱點概念比較熟悉的朋友對docker並不陌生,這幾乎是近期最熱點的一門技術之一。

Docker+jenkins小知識,講解通俗易懂,有必要收藏

那麼docker不像jenkins,docker場景應用是非常廣泛的,例如:我們常用的微服務或者容器化部署,實際上都離不開docker或者說都離不開容器。可能大家在平時的工作中或者學習中對docker也非常感興趣,想要去應用,但是有些同學可能沒有找到這種合適的入手點去試驗它,沒有找到一種合適的方式去應用它。我們今天在這裡主要與大家分享如何將Docker與持續整合結合起,來講講基於Jenkins+Docker+GIT把這幾項結合在一起的配置部署的一種方案,我們想搭建一套既能利用jenkins一個傳統,同時也主流的一和整合構建工具,同時我們又能引入一個Docker輕量級容器部署的方案,一方面我們想把傳統的持續整合的工具應用好,另外一方面我們也可以整合一些熱點的技術融合到一起,從而達到提升工作效率的目的。

Docker+jenkins小知識,講解通俗易懂,有必要收藏

不管是docker還jenkins目前在很多的IT企業中應用都非常廣泛,jenkins作為一款非常經典的整合釋出整合構建的工具,它憑藉著自身的這種特別強大的功能,還是得益於它良好的設計,然後再結合眾多的外掛,使得jenkins在實際生產過程中幾乎能夠實現你在工程持續構建的多種內容,而docker目前也是非常火熱,作為業內一個最火的容器解決方案之一,將兩者結合起來會帶來什麼樣效果呢?這也是我們今天需要去探索和展現的一些重點。

為什麼想要將docker與jenkins結合起來,在我們設計的場景裡,就是想利用jenkins這種強大的CI工具的特性,我們能夠獲得這種持續構建的便利,這也是jenkins作為傳統的一種應用場景,但是傳統構建的應用場景一般跑在獨立的伺服器上或者執行在虛擬機器裡,相對來說還是比較笨重,儘管說我們記住jenkins這樣強大的工具,我們最終也能夠實現一鍵部署與自動化環境的搭建執行,但在資源方面的這個開銷和管理維護這種複雜度還是會存在一些不如意,那麼容器呢它比虛擬機器也好或者伺服器也好,要輕量得多佔用資源又少,部署即快又方面,做事效率高,如果我們把服務存放在容器中執行,然後我們透過jenkins來把這個工程部署到容器裡面,這樣我們的服務就能夠實現輕量化,這就是我們基於docker來管理我們jenkins的資源然後基於jenkins來建立docker然後來管理這個docker容器。

Docker+jenkins小知識,講解通俗易懂,有必要收藏

環境搭建實現整體流程詳解圖如下:

Docker+jenkins小知識,講解通俗易懂,有必要收藏

流程詳解過程分析:

首先我們從人物開始,開發人員將開發完成的程式碼提交到git伺服器之後,版本管理工具我們使用GIT,可以在jenkins中進行工程的構建,透過呼叫我們的shell Script的方式,觸發docker管理映象和容器的相關操作,然後把我們的工程部署到docker容器中去,然後把這個docker容器作為一個映象啟動起來,這樣等部署完成之後開發與測試就可以透過瀏覽器等方式來直接訪問我們的專案工程。

在這整個流程中,除了docker這一部分之外,其它的流程都是一種傳統的jenkins部署持續整合構建的一種傳統流程,我們在部署與釋出基本上都是在jenkins中來完成 ,Docker在這個過程中更多是給我們提供一種支撐,我們在jenkins中執行編譯,編譯完成之後的工程將程式碼打包釋出到docker裡面,然後在docker中執行我們的服務,這所有的過程都是基於jenkins強大的功能來實現的,這所有的流程操作都可以進行跟蹤的。

Docker+jenkins小知識,講解通俗易懂,有必要收藏

在我們設計的這個場景裡面,我們希望至少需要三類伺服器。

首先,是需要提供一臺Git服務的伺服器,這裡可以使用網際網路上提供的github等相關版本管理工具服務。

其實,需要一臺執行Jenkins服務的伺服器(Tomcat)。

再次,一臺或若干Docker宿主機報備器主要用來提供服務執行的環境,可以是一臺或者多臺,主要為使用者提供服務執行的環境。

總結:基於對Docker結合Jenkins的應用今天咱們就講解到這裡,有些同學在公司有接觸或者應用過這些技術相對比較容易接受,有些同學可能僅僅只聽過沒有應用過,關於Docker的一些基本概念與整理運作流程我們今天就講到這裡,只要大家認真努力閱讀上文都能詳細理解,如何任何問題歡迎留言。

Top