文章目录
私服【运维】
1. 私服介绍
问题导入
- 这里的私服和平时我们听的国服、体验服、欧服等等有什么区别?
- 我们怎么实现自己的模块和同事的模块即使不在同一个电脑上也能关联起来呢?私服就是解决这个问题的。
- 使组与组之间数据共享
1.1 介绍
-
团队开发现状分析
-
私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题
-
Nexus
- Sonatype公司的一款maven私服产品
- 下载地址:https://help.sonatype.com/repomanager3/download
1.2 Nexus安装与启动
- 启动服务器(命令行启动)
- 找到安装路径,cmd
- nexus.exe /run nexus
- 访问服务器(默认端口:8081)
- http://localhost:8081
-
- 修改基础配置信息
- 安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息,例如默认访问端口。
- 我的电脑下在:D:\myservice\latest-win64\sonatype-work\nexus3\etc
- 修改服务器运行配置信息
- 安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息,例如默认占用内存空间。
1.3 私服资源操作流程分析
- (快照)临时仓库,我的仓库,中央仓库(从中央仓库下载下来的)
- 上传的时候我知道上传到了哪个仓库,下载的时候不用问在那个仓库
2. 私服仓库分类
3. 资源上传与下载
往私服上传资源是否需要身份认证?在哪里设置认证信息?
开启匿名访问可以不用用户名密码
3.0 私服配置
- 配置本地仓库访问私服的权限
- 配置本地仓库访问私服的url地址
步骤如下
找到本地仓库安装目录:D:\sourcecodes\apache-maven-3.6.1\conf
第一步:开始创建我们的私服 (快照)临时仓库,我的仓库
依次点击设置,Repositories,创建仓库
1.创建快照仓库,只需要修改两处
2.滑到最下面,点击创建仓库
创建我的仓库,继续创建步骤一样
3.创建仓库成功
4.点击仓库名称即可更改仓库配置
5.到此,我们自己的仓库就写完了。
第二步:私服与本地仓库关联
1.下面到本地仓库进行配置
2.配置私服地址url映射
-
找到mirrors
-
进入自己私服,找到仓库组,将我们新建的两个仓库加入仓库组
来到主页,点击进入 maven-public。
- 和本地关联
为了避免冲突,我们先注释掉阿里云私服
到此,本地仓库已经和我们的私服成功关联
第三步:本地项目与私服关联
本地父板块项目的pom.xml
文件中配置
<!--配置当前工程保存在私服中的具体位置-->
<distributionManagement>
//发布到正式版仓库
<repository>
//找到刚刚配置的两个仓库,复制id和url
<id>king-release</id>
<url>http://localhost:8081/repository/king-release/</url>
</repository>
//发布到临时版仓库
<snapshotRepository>
<id>king-snapshot</id>
<url>http://localhost:8081/repository/king-snapshot/</url>
</snapshotRepository>
</distributionManagement>
到此,你去访问的时候有地址,同时在setting中有权限。本地项目绑定成功
第四步: 测试私服
上传本地项目到私服
查看自己私服里的项目是否上传成功
注意:我的项目里面父代上传方式为RELEASE
,自带继承需要与之保持一致,否则会报错哦
<groupId>com.itheima</groupId>
<artifactId>maven_01_parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
更改为snapshot
私服
只需要更改 1.0-SNAPSHOT -----> 1.0-RELEASE
五、更换中央仓库位置
阿里云镜像仓库地址
http://maven.aliyun.com/nexus/content/groups/public/
3.1 从私服中下载依赖
总结
【第一步】在maven的settings.xml中<mirrors>标签中配置,此时就需要注释掉aliyun的配置。
配置本地仓库对私服的访问权限
<mirror>
<id>heima-nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
【第二步】在nexus中设置允许匿名下载,如果不允许将不会从私服中下载依赖
如果私服中没有对应的jar,会去中央仓库下载,速度很慢。可以配置让私服去阿里云中下载依赖。
3.2 上传依赖到私服中
【第一步】配置本地仓库访问私服的权限(在maven的settings.xml的servers标签中配置)
<server>
<id>itheima-release</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>itheima-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
【第二步】配置当前项目访问私服上传资源的保存位置(项目的pom.xml文件中配置)
<!--配置当前工程保存在私服中的具体位置-->
<distributionManagement>
<repository>
<id>itheima-release</id>
<url>http://localhost:8081/repository/itheima-release/</url>
</repository>
<snapshotRepository>
<id>itheima-snapshot</id>
<url>http://localhost:8081/repository/itheima-snapshot/</url>
</snapshotRepository>
</distributionManagement>
【第三步】发布资源到私服命令
mvn deploy