這篇文章經過gitlab來實現項目的持續集成,主要介紹從開發提交代碼到編譯、打包、生成鏡像的過程,我項目類型爲java的spring cloud,因此以此來介紹,實現目標以下圖所示。java
(一) 環境要求git
(二) 項目設置spring
a) 添加Maven的docker插件,以下所示docker
b) 注意事項服務器
i. 設置goal到maven的phase,固然你能夠綁定多個goal,我這裏是把build及push分開來設置,這個在gitlab ci中會分到不一樣的階段。maven
ii. JAR_FILE的設置,這個是傳給Dockerfile使用的,這裏是打包後的Jar包。gitlab
iii. Username、password、useMavenSettingsForAuth 帳號設置測試
a) 這是鏡像生成的依據,內容以下所示ui
其中JAR_FILE爲POM中設置要傳遞的標籤名,基礎鏡像爲java:8,其它命令說明能夠參見spa
https://docs.docker.com/engine/reference/builder/#maintainer-deprecated。
這是gitlab ci 執行的腳本文件,根據須要,能夠修改爲本身的腳本文件。
我這裏設置了compile、package、deploy 3個階段,分別對應編譯、打包、發佈。
a) 前面的工做作完後,就能夠提交改動,並推送到gitlab服務器,執行以下命令
>git add . >git commit -m '打包測試分支' >git push origin master
Push前,最好合並下倉庫的代碼,以避免出現代碼混淆。
b) 查看打包結果
若是出現以下結果,說明已經打包成功,注意咱們在.gitlab-ci中定義了3個階段,因此這裏對應的顯示3個圖標,點擊對應的階段圖標,便可看到編譯及打包的詳細過程
好比,咱們點擊package階段,顯示以下
能夠看到包文件已經生成,同時在gitlab也能夠下載,很是的人性化,固然能夠你也能夠在腳本文件直接啓動服務,或者下載後啓動服務,也是很是的簡單,我就不寫了,持續集成及持續發佈,我分兩篇文章,這篇主要是持續集成,下篇是結合Docker持續發佈。
這樣持續集成就介紹完了,若是在開發中遇到問題,也能夠留言共同探討共同進步。