微服務利用docker+jenkins+maven+git一鍵自動打包,部署,啓動

目標

只需點擊jenkins的


image.png

即可打包,部署,啟動

前提

這篇文章的前提就是已經安裝好了jenkins,docker,以及maven,如果沒有安裝,就看之前的文章,我的jenkins和maven都是docker的,直接安裝到物理機上也可以。

配置jenkins

#######git配置


git配置

#######構建

項目打jar包,和微服務build上傳至服務器


構建

構建之後,啟動


啟動命令

項目中docker化

pom.xml中添加


<plugin>
<groupid>com.spotify/<groupid>
<artifactid>docker-maven-plugin/<artifactid>
<configuration>
<dockerhost>http://192.168.112.143:2375/<dockerhost>
<imagename>${project.name}:${project.version}/<imagename>
<dockerdirectory>${project.basedir}/src/main/docker/<dockerdirectory>
<skipdockerbuild>false/<skipdockerbuild>
<resources>
<resource>
<directory>${project.build.directory}/<directory>
<include>${project.name}-${project.version}.jar/<include>
/<resource>
/<resources>
/<configuration>
/<plugin>

項目目錄結構添加


image.png

dockerfile:


image.png

runboot.sh


image.png

myhosts就是hosts文件

docker-compose.yml

這個是啟動文件


image.png


image.png

工作中遇到比較麻煩的問題:

1,jenkins是docker的,maven是jenkins的插件,想要修改setting.xml,很難,vi,vim等等編輯命令docker已經禁止了,只能在pom.xml中修改,添加自己的私服

2,可以根據https://www.jianshu.com/p/b953eb2b4e9a先測試好自己的項目是否能打包上傳功能

在編譯失敗的時候在這裡看失敗信息:


image.png

到這裡已經啟動,但是中間件沒有在啟動文件中,最好不要放到啟動文件中,單獨放到物理機上或者docker化都可以,還有項目的集群用docker非常容易部署,因為docker與生俱來的隔離特性,讓微服務集群變得非常容易。

望指正,不吝賜教

最後:大家可以關注我私信我:“資料”即可領取Java架構,Dubbo、Redis 、Netty、zookeeper Spring cloud、分佈式、高併發、性能調優、微服務 等架構技術的視頻資料。