一、創(chuàng)建Spring Boot項(xiàng)目
二魁蒜、搭建 gitlab CI/CD流程:測(cè)試囊扳,打包,發(fā)布兜看,生成鏡像锥咸,發(fā)布鏡像。
官方文檔:https://docs.gitlab.com/ee/ci/quick_start/README.html
gitlab(比github功能更強(qiáng)大) 提供了持續(xù)集成服務(wù)细移。通過(guò)在項(xiàng)目下添加.gitlab-ci.yml文件并配置Runner搏予,那么每次提交代碼都會(huì)觸發(fā)CI pipeline。
.gitlab-ci.yml的作用就是告訴Runner應(yīng)該怎么執(zhí)行pipeline弧轧,pipeline的執(zhí)行主要有三個(gè)階段:構(gòu)建雪侥、測(cè)試、部署打包精绎。在gitlab項(xiàng)目的Pipelines頁(yè)下可以看到項(xiàng)目持續(xù)集成的情況速缨。
搭建過(guò)程:
1、在項(xiàng)目根目錄下新建.gitlab-ci.yml文件代乃。
2旬牲、將文件push到gitlab上
git add .gitlab-ci.yml
git commit -m "Add .gitlab-ci.yml"
git push origin master
3、配置Runner
操作后在gitlab的pipelines頁(yè)面就可以看到j(luò)ob狀態(tài)(running搁吓、passed原茅、failed)。
項(xiàng)目打包堕仔、部署擂橘、發(fā)布:
打包:配置maven,mvn package摩骨,會(huì)生成jar包
部署:docker build 通贞,會(huì)執(zhí)行Dockerfile
以上操作可采用命令或腳本的形式嵌入 .gitlab-ci.yml中朗若,實(shí)現(xiàn)從push代碼到CI測(cè)試再到更新鏡像庫(kù)的整個(gè)流程。
每次push代碼會(huì)觸發(fā)在.gitlab-ci.yml執(zhí)行滑频,.gitlab-ci.yml中配置了 mvn package捡偏、docker build、docker push等腳本或者腳本路徑峡迷,docker build執(zhí)行的時(shí)候會(huì)讀取執(zhí)行Dockerfile構(gòu)建鏡像银伟,docker push將鏡像文件push到鏡像倉(cāng)庫(kù)。
gitlab ci 流程: