微服务maven管理_docker


注意:在一个互联网企业中,都是采用分模块的开发模式,每个团队维护自己的模块,是无法看到另外项目团队的模块代码的,需要实现业务的通讯就会使用到rpc远程调用技术。

Maven私服作用:

1.构建一个企业级Maven私服 缓存微服务团队中jar包;

2.微服务架构中实现RPC远程调用 下载接口jar包;

分别导入会员团队、微信团队代码

微服务maven管理_Maven_02


打包本地或者Maven私服中1.将微信Api接口项目发布到本地Maven仓库中 双击 maven install

微服务maven管理_Maven_03


2.会员服务中引入微信服务Api接口

<dependency>
    <groupId>com.demo</groupId>
    <artifactId>jc-sp-service-api-weixin</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

微服务maven管理_项目实战_04

3.构建企业级Maven私服仓库
docker 安装maven私服

1. 下载一个nexus3的镜像
docker pull sonatype/nexus3
2. 将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3

微服务maven管理_maven_05

docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3

service iptables stop 关闭防火墙

访问http://ip:8081

4.Maven私服启动容器稍微比较慢,等待1分钟即可。

可以查看正在启动的日志 docker attach 容器的id

微服务maven管理_微服务maven管理_06

5.修改maven私服仓库 默认账户密码

微服务maven管理_项目实战_07


docker ps 查看id

进入到容器中 docker exec -it 2ce450b8403d bash

cat /nexus-data/admin.password

微服务maven管理_docker_08


复制密码,登录maven私服

修改登录密码

微服务maven管理_项目实战_09


6.将微信api接口项目发布到maven私服中,新建一个maven私服仓库

创建仓库,点击Create repository,然后选择maven2(hosted)然后输入仓库名称(test-release)。在version policy中选择这个仓库的类型,这里选择release,在Deployment policy中选择Allow redeploy(这个很重要).

微服务maven管理_docker_10


微服务maven管理_微服务maven管理_11


Snapshot版本代表不稳定、尚处于开发中的版本,快照版本。

Release版本则代表稳定的版本,发行版本。

微服务maven管理_Maven_12


微服务maven管理_微服务maven管理_13

7.点击左侧菜单栏的Users菜单,然后点击Create local user.我这里创建了一个用户,账户:jyc、密码:jyc

微服务maven管理_微服务maven管理_14


8.本地settings.xml 新增如下配置

<servers>
		<server>
	        <id>demo</id>
	        <username>jyc</username>
	        <password>jyc</password>
      </server>
	</servers>

微服务maven管理_docker_15

9.微信团队 parent pom 中新增:

<!--注意限定版本一定为snapshot,因为上传的对应仓库的存储类型为snapshot -->
   <!--指定仓库地址 -->
   <distributionManagement>
       <repository>
           <!--此名称要和.m2/settings.xml中设置的ID一致 -->
           <id>demo</id>
           <url>http://192.168.1.100:8081/repository/demo-snapshot/</url>
       </repository>
   </distributionManagement>

微服务maven管理_docker_16

10.点击Maven depoly

微服务maven管理_项目实战_17


11.登录maven仓库中查看 微信api接口项目

微服务maven管理_微服务maven管理_18

12.会员项目 pom中 引入 maven私服仓库地址 maven update 即可从 maven私服中下载到微信接口项目

<repositories>
        <repository>
            <id>demo</id>
            <url>http://192.168.1.100:8081/repository/demo-snapshot/</url>
        </repository>
    </repositories>