微服務項目持續集成部署流程簡介

微服務項目持續集成部署流程

什麼是持續化集成(continous itergration)?爲了加快軟件開發速度,增強團隊成員間的合做力度,簡化項目的部署流程,使用一種自動編譯、打包、測試、發佈等技術來實現自動化的集成項目。在實現這一目標以前,咱們須要作較多的前提工做:java

  • Gogs安裝,主要用我的的git服務替代github等等網站,把代碼和控制權力掌握在本身手上。總之,Gogs就是我的版的github和碼雲。
  • jekin使用流程的理解

Gogs容器的安裝與應用

Gogs是一款簡單、易用的git服務軟件,和碼雲,github的性質同樣,咱們能夠將代碼push到這個本身搭建的git服務上。本文針對微服務項目進行講解,微服務+docker是比較完美的組合,所以Gogs也才用docker容器來部署,具體的搭建步驟以下:
(1)下載Gogs鏡像到本地mysql

docker pull gogs/gogs

(2)建立並啓動gogs容器git

docker run -di --name=test_gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
gogs/gogs

(3)配置gogs
當gogs容器啓動後,咱們輸入相應的http://ip:3000能夠訪問到gogs應用的後臺,在後臺配置一些基本信息,如該gogs管理版本庫所須要的數據、該服務的訪問地址(當前宿主機的ip地址)等,這裏選擇其自帶的小型嵌入式關係型數據庫sqlite,固然也能夠選擇mysql等其餘數據庫。
(4)用戶註冊和配置
和github、碼雲提供的git服務同樣,註冊用戶便可使用。
(5)建立倉庫,與在github上的操做相似
注意 因爲gogs容器中的ssh端口被映射爲宿主機的10022端口,因此在使用ssh協議與gogs進行交互時,會有衝突,暫時沒法使用,須要比較繁瑣的配置,這裏推薦先使用http協議。即3000端口所對應的協議。關於ssh協議的鏈接,後面有時間在作詳細的探索
(6)爲了不使用git提交源代碼到gogs倉庫出現commit rejection的錯誤,新建倉庫時候,最好不要添加任何文件,即建立一個空白的項目,這個錯誤的根本緣由是由於本地倉庫的代碼與遠程倉庫的代碼不一致所產生的衝突,哪怕是一個空格也不行。github


jenkins實現持續的集成

jenkins是一款開源的用於代碼集成處理的工具,經過使用git插件和maven插件來實現自動化集成項目的功能,所以在安裝完jenkins時候,還須要安裝兩個必要的插件:git和maven,git用於從git服務器上(github或者gitee)下載源碼,maven用於管理項目所用到的全部依賴,這裏不對具體的細節展開討論,只對該工具的大概使用流程作一個描述罷了!!!(只有明白每一步配置的緣由才行,碰到問題,具體搜尋答案,思路最重要,解決問題的技巧很重要,找到問題的關鍵點很重要,相信理性的魅力!)sql


所以jekins集成須要完成如下各個關鍵步驟:
(1)jekins安裝
(2)jekin中git插件和maven插件的安裝(兩個插件分別用於鏈接主機git和maven到jekin中,使得jekin可使用主機中的git和maven)
(3)全局的工具設置docker

  • 配置jekins所在主機的java環境
  • 配置jekins中的git環境(git在主機中的安裝位置)
  • 配置jekins中的maven環境(maven在宿主機中的位置,包括maven倉庫的位置)
    (4)使用jekins建立集成項目
  • 在jekins中構建maven項目
  • 配置要鏈接的git服務器地址(github gitee gogs等),使用能從這些git服務其上下載源代碼
  • Build(配置項目的pom.xml文件;執行構建命令)
# 這實際上是maven命令,只是jekins執行了maven命令;
#pom.xml文件是包含了依賴包座標和相應的構建工具:dockers-maven工具等
clean package docker:build ‐DpushImage

(5)點擊執行,jekins根據pox.xml文件中插件和依賴的配置,自動實現部署.數據庫

相關文章
相關標籤/搜索