微服務整合及Jenkins的使用

微服務整合及Jenkins的使用

任務一 Docker Compose編排工具

  1. 安裝條件
    Docker Compose是依賴於Docker引擎的,所以在安裝Docker Compose之前要確保機器上已經安裝了Docker.
    在這裏插入圖片描述
  1. 安裝Compose

(1)使用curl命令從GitHub的Compose倉庫拉取Docker Compose
在這裏插入圖片描述
(2)更改Docker Compose的可執行文件權限
在這裏插入圖片描述
(3)查看安裝的Docker Compose效果及版本
在這裏插入圖片描述
2. 卸載Compose
$ sudo rm /usr/local/bin/docker-compose
3. Compose file文件的使用說明
Docker Compose編排工具的使用非常簡單,只需如下三步
a) 編寫Dockerfile文件;
b) 定義yml文件(通常是docker-compose.yml);
c) 運行服務部署命令。

任務二 微服務與Docker的整合

  1. 添加Dockerfile文件
  1. 針對一個子項目模塊編寫對應的Dockerfile文件。這裏以用戶訂單管理微服務模塊爲例,Dockerfile內容如下
    在這裏插入圖片描述
    在這裏插入圖片描述
  2. 添加dockerfile-maven插件
    在這裏插入圖片描述
  3. 添加docker-compose.yml配置文件
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

任務三 環境搭建以及鏡像準備
一. 環境搭建

  1. 搭建Docker主機
    本次實驗因爲是基於之前的Swarm集羣而做,三臺主機已安裝配置好docker。
  2. 安裝應用編譯工具JDK
    (1)上傳所需Linux版本的JDK工具包並解壓
    在這裏插入圖片描述

(2)將解壓下的文件移動到自定義目錄下(此處有誤,應爲 cp -r jdk1.8.0_131 /usr/lib/jvm)
在這裏插入圖片描述
(3)配置環境變量(編輯/etc/profile)
在這裏插入圖片描述
(4)生效環境變量並測試java是否正確安裝(編輯/etc/profile)
在這裏插入圖片描述
3. 安裝應用打包工具Maven
(1)上傳所需Linux版本的Maven工具包並解壓, 將解壓下的文件移動到自定義目錄下
在這裏插入圖片描述
(2)添加環境變量
在這裏插入圖片描述
(3)生效環境變量查看Maven信息
在這裏插入圖片描述
二. 鏡像準備
(1)修改配置位置settings.xml文件
由於之前dockerfile-maven的配置,在完成打包後會自動構建鏡像並推送到指定倉庫,但無論是推送到Docker Hub還是本地私有鏡像倉庫,必須先登錄認證纔可以推送。因此需要修改Maven存放jar文件的位置以及配置服務認證信息。
在這裏插入圖片描述
在這裏插入圖片描述
(2)上傳項目
在這裏插入圖片描述
(3)執行mvn install打包(一定要切換到程序pom.xml位置,同時因爲我在本地執行過mvn install,所以我將repo複製到了集羣中)
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
(4)查看生成鏡像
在這裏插入圖片描述
在這裏插入圖片描述

任務四 微服務的手動部署
一. 非集羣環境下的服務部署
(1)登錄私有倉庫
在這裏插入圖片描述
(2)部署服務(進入到項目docker-compose.yml文件所在目錄下,執行服務部署命令部署整個微服務項目)
在這裏插入圖片描述
在這裏插入圖片描述
(3)驗證服務是否啓動
在這裏插入圖片描述
(4)查看項目啓動情況
在這裏插入圖片描述
(5)關閉整個服務
在這裏插入圖片描述
二. 集羣環境下服務部署

  1. 集羣服務中的網卡選擇性註冊
    (1)查看網絡列表詳情
    在這裏插入圖片描述
    在這裏插入圖片描述
    (2)根據微服務項目的需求,在集羣環境下預先自定義一個以overlay爲驅動的網絡進行本地集羣服務網絡管理
    在這裏插入圖片描述
    (3)在所有需要註冊到Eureka註冊中心的服務(包括microservice-gateway-zuul,microservice-orderservice和microservice-userservice服務)的配置文件application.yml中,添加指定註冊到Eureka中心的優選服務子網地址信息
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    (4)修改服務部署的編排文件docker-compose.yml,將所有服務啓動時的網絡設置爲前面預先定義的microservice_net網絡來進行網絡管理,將修改後的編排文件重命名爲docker-compose-swarm.yml
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

  2. 集羣服務部署
    (1)登錄私有倉庫並部署服務
    在這裏插入圖片描述
    (2)查看服務列表詳情
    在這裏插入圖片描述
    (3)在集羣管理節點上使用docker stack相關指令查看整個微服務項目在集羣節點的分配與啓動情況
    在這裏插入圖片描述
    (4)在集羣管理節點上通過docker service提供的服務日誌指令來進一步查看某個具體服務從啓動到運行的整個日誌情況
    在這裏插入圖片描述

  3. 微服務測試
    (1)通過visualizer集羣服務可視化工具查看服務啓動情況。微服務項目部署成功後,可以通過地址http://192.168.1.3:8081(對應您集羣的manager1的主機地址)查看集羣服務可視化工具visualizer界面的顯示情況
    在這裏插入圖片描述
    (2)通過Eurkea註冊中心查看服務的啓動情況,當然也可以通過地址192.168.1.3:8761訪問Eureka服務註冊中心的情況,查看其他微服務是否都已經啓動並註冊到該註冊中心
    在這裏插入圖片描述
    (3)將數據庫數據初始化。MySQL數據庫是使用Docker容器構建的,所以對MySQL數據庫進行初始化時需要先安裝一個MySQL客戶端
    在這裏插入圖片描述
    (4)連接數據庫(默認密碼root)
    在這裏插入圖片描述
    (5)創建所需要的數據庫microservice_mallmanagement及表和數據
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    (6)測試微服務(分別連接用戶管理微服務和訂單管理微服務的訪問地址進行測試)
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    (7)測試驗證API網關服務
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

任務五 使用JenKins自動部署微服務

  1. Jenkins介紹
    Jenkins是一個基於Java開發的開源軟件項目,用於支持構建,部署和自動化任何項目。在實際開發中,通常將它作爲項目的持續集成,部署工具來使用。Jenkins進行項目集成管理的流程如下。
    (1)開發人員將更改後的代碼提交到代碼倉庫中(如GitHub);
    (2)持續集成工具Jenkins會定期(或人工手動)從代碼倉庫中拉取指定項目;
    在這裏插入圖片描述
    (3)Jenkins工具會根據具體配置,自動化打包,構建鏡像,推送鏡像,並最終生成Docker容器來啓動服務,形成對應的測試環境;
    (4)測試人員會在對用的測試環境下測試Jenkins自動化集成,部署的服務;
    (5)當項目測試成功後,可以使用Jenkins工具將測試成功的項目自動構建到發佈環境下,也可以人工手段部署到發佈環境下。
  2. Jenkins安裝
    (1)下載Jenkins
    在這裏插入圖片描述
    (2)上傳至虛擬機並啓動Jenkins服務
    在這裏插入圖片描述
    在這裏插入圖片描述
    (3)Jenkins初始化安裝(通過主節點IP地址:49001訪問)
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    (4)初始化認證密碼
    在這裏插入圖片描述
    在這裏插入圖片描述
    (5)初始化插件安裝
    在這裏插入圖片描述
    在這裏插入圖片描述
    (6)創建管理員用戶(上一步插件安裝完畢後自動轉到該頁面)
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    到達該主頁面後,就表示Jenkins安裝及初始化完畢。
  3. Jenkins集成插件配置
    (1)安裝Maven插件(依次點擊主頁面的”系統管理”–>”插件管理”–>”可選插件”面板,然後再右側搜索框中輸入”Maven Intergration”關鍵字進行搜索。)
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    (2)系統全局插件配置(依次單擊主頁面的”系統管理”–>”全局工具配置”面板,進入全局插件配置頁面,配置插件效果如下)
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    點擊”保存”按鈕跳轉到主頁面,至此,Jenkins插件配置完成。
  4. 服務自動化配置
  1. 構建新任務
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    (1)配置源碼倉庫地址
    在這裏插入圖片描述
    在這裏插入圖片描述
    (2)構建觸發器
    在這裏插入圖片描述
    (3)服務發佈配置(在Post Steps頁面,選擇”Add post-build step”下拉列表中的”Execute shell” 選項,並在命令框中輸入需要發佈的shell指令。爲了確保集羣環境下服務的正常部署,需要確認集羣已經開啓並且已經預先自定義好指定網段的網絡,同時還要在集羣管理節點進行私有倉庫登錄認證;上述配置完畢後,單擊左下角”保存”按鈕跳轉到該任務主頁面)
    在這裏插入圖片描述
    在這裏插入圖片描述

  2. 自動化部署服務
    (1)單擊任務主界面左側的”立即構建”按鈕後,會觸發一次立即構建項目的動作,然後整個服務就會進入自動構建過程。
    在這裏插入圖片描述
    (2)單擊”構建歷史”中的倒三角,選擇”控制檯輸出”選項查看整個構建過程的輸出信息
    在這裏插入圖片描述
    在這裏插入圖片描述
    (3)測試
    在這裏插入圖片描述

實驗過程中遇到的錯誤:
(一) Maven install失敗
在這裏插入圖片描述
解決方法:將原程序Maven Plugin的版本1.3.6改爲1.4.9
在這裏插入圖片描述
(二)執行java –jar Jenkins.war –httpport=49001失敗
在這裏插入圖片描述
解決方法:在/etc/hosts裏面加入集羣中三臺主機的主機名和IP地址使之映射
在這裏插入圖片描述
(三)源碼管理輸入git地址報錯(在該地址後需要加.git,這裏因爲上一次試過還是同樣的錯所以在截圖中沒有.git後綴)
在這裏插入圖片描述
解決方法:在集羣主節點安裝git
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
(4)登錄私有倉庫失敗
在這裏插入圖片描述
解決方法:殺掉之前的registry進程重新啓動registry。
在這裏插入圖片描述

如何將本地文件Push到GitHub上???

  1. 方案1(這應該算是最簡單的一種)
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

  2. 方案2–>安裝客戶端Push
    a) 安裝這兩個軟件
    在這裏插入圖片描述
    b)進入項目所在目錄,右鍵選擇”Git Bash Here”
    在這裏插入圖片描述
    c)執行clone命令,生成一個名爲microservice-mallmanagement的空文件夾
    在這裏插入圖片描述
    d)將項目中其餘文件拉至該文件夾中
    在這裏插入圖片描述
    e)執行命令添加文件
    在這裏插入圖片描述
    在這裏插入圖片描述
    f)推送到GitHub
    在這裏插入圖片描述
    在這裏插入圖片描述
    g)登錄驗證
    在這裏插入圖片描述

是不是很有趣呢,快來嘗試學習學習吧!!!

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