日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jenkins+Docker+springcloud微服务持续集成

發布時間:2025/1/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jenkins+Docker+springcloud微服务持续集成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

流程說明





本地部署



微服務是可以獨立部署的,如果不借助spring-boot-maven插件,package出來的jar包是不能運行的。
借助spring-boot-maven插件package出來的jar包已經內嵌了tomcat相關的jar,可以獨立運行(java -jar):

使用Dockerfile制作微服務鏡像


vi Dockerfile

docker build --build-arg JAR_FILE=tensquare_eureka_server-1.0-SNAPSHOT.jar -t eureka:v1 .
  • –build-arg JAR_FILE=xxx 設置參數的值
  • eureka:v1:eureka是鏡像名稱,v1是標簽tag

docker build日志查看:


docker run創建容器驗證一下:


docker logs -f 容器ID查看容器日志

Harbor

簡介

安裝




創建用戶和項目







給tensquare項目添加成員:

上傳鏡像到Harbor




由于docker并不信任harbor倉庫地址,貿然上傳到harbor會報錯:

vi /etc/docker/daemon.json 信任harbor倉庫地址


systemctl restart docker 重啟docker

上傳到私有倉庫,需要賬號密碼:不然會報錯

所以需要登錄harbor:

此時就會成功push:

查看harbor倉庫,就會看到剛才上傳的eureka鏡像:

從harbor下載鏡像





docker images

spring cloud微服務持續集成

代碼上傳到gitlab

idea vcs

enable

git

add

commit



remotes



push

TortoiseGit操作方式

init


commit


push

remote




從gitlab拉取項目源碼

在項目根目錄創建Jenkinsfile腳本文件:

jenkins操作:創建pipeline




將分支設計成參數接收,更靈活:


腳本中的變量設計:

" "雙引號引用變量:

提交Jenkinsfile腳本文件:

Build With Parameters

構建完畢后代碼成功pull:

提交到SonarQube代碼審查











報錯:

注釋這行:


package各個子項目進行


mvn install失敗
因為common工程不是一個標準的spring cloud微服務工程,找不到啟動類main class而報錯。
因此不能在parent工程中引入spring-boot-maven插件,而是在需要該插件的子工程中分別引入。

再次構建,就已經安裝到本地倉庫了:

mvn clean package

使用${project_name}來獲取當前工程的名稱



package zuul時報錯:
找不到parent父工程

需手動上傳parent的pom文件到服務器的倉庫相應目錄下:


使用Dockerfile編譯、生成鏡像

dockerfile-maven-plugin插件可以讀取每個工程中的Dockerfile文件自動構建鏡像


tensquare_eureka_server工程

使用dockerfile-maven-plugin插件調用Dockerfile腳本文件生成鏡像:

在Jenkinsfile腳本中觸發dockerfile-maven-plugin插件的執行:


構建完畢后會生成eureka工程的鏡像:

每個子工程都需要添加Dockerfile腳本文件和在pom.xml中添加dockerfile-maven-plugin插件:


上傳鏡像到harbor鏡像倉庫


定義鏡像的標簽(版本號):

定義harbor的URL地址:

定義harbor的項目名稱:



上傳到harbor是需要login的,賬號密碼寫在Jenkinsfile腳本中就會暴露給所有開發人員,所以應該在jenkins的憑據中添加harbor的賬號密碼:



點擊賬號進入會看到自動生成的ID:

在Jenkinsfile腳本中定義harbor的登錄憑證ID:

在流水線語法中選擇:



對生成的腳本代碼進行變量替換(可選):


提交push腳本。
jenkins構建日志:


登錄harbor倉庫查看push的鏡像:

從harbor拉取鏡像和發布應用


jenkins安裝Publish Over SSH插件


配置101ssh免密登錄到103





生成遠程執行命令腳本:



與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的jenkins+Docker+springcloud微服务持续集成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。