1.前言
最近公司外包凯*代码遇到点问题就是有一些验证码代码是封装的,改封装代码没地方上传,我们虽然有源码但是不能上传到maven仓库,因为是三方合作公司的maven是公司仓库不允许随便更改,没办法,我就自己搭建maven私人仓库,进入正题,官方没找到rancher搭建maven说明,不过只要我之前写rancher搭建你都会,现在这个搭建你会觉得更简单。
2.找到maven搭建docker镜像
3.rancher配置
4.访问测试如图,此时在浏览器输入:http://ip:8029即可看到以下页面:(ip为远程主机的ip地址就是你部署服务器地址)
记得点击右上方的Sign in进行登录,初始账号密码为admin/admin123.请登录后修改密码
可以看到默认情况下Nexus会帮我们创建了几个仓库,仔细观察红色框住的地方,里面有几种仓库的类型,解释如下:
proxy 远程仓库的代理,比如说nexus配置了一个central repository的proxy,当用户向这个proxy请求一个artifact的时候,会现在本地查找,如果找不到,则会从远程仓库下载,然后返回给用户。
hosted 宿主仓库,用户可以把自己的一些仓库deploy到这个仓库中,一般用的都是这个仓库
group 仓库组,是nexus特有的概念,目的是将多个仓库整合,对用户暴露统一的地址,这样就不需要配置多个仓库地址。
5.实战maven仓库操作
创建仓库,点击Create repository,然后选择maven2(hosted)然后输入仓库名称(zencloud-boot)。在version policy中选择这个仓库的类型,这里选择release,在Deployment policy中选择Allow redeploy(这个很重要).
6.本地操作
修改本地你的maven的配置文件settings.xml,一般默认是C:\Users\Zencloud.m2目录下的settings.xml如图, 这里指定私库的账号密码,id解释一下是和你项目pom.xml里面的id对应上才行否则会找不到用户的帐号密码授权失败:
使用IDEA创建一个Maven项目,使用pom.xml配置如图:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>zencloud-boot</artifactId>
<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE-->
<version>0.1</version>
<packaging>jar</packaging>
<!--指定仓库地址-->
<distributionManagement>
<repository>
<!--此名称要和.m2/settings.xml中设置的ID一致-->
<id>zencloud-boot</id>
<url>http://*****:8029/repository/zencloud-boot/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--发布代码Jar插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--发布源码插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
7.测试依赖上传
项目打包上传至远程仓库:mvn deploy
或者如图:
8.测试依赖下载,在pom.xml添加如下代码
<dependencies>
<dependency>
<groupId>com</groupId>
<artifactId>zencloud-boot</artifactId>
<version>0.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>zencloud-boot</id>
<url>http://*****:8029/repository/zencloud-boot/</url>
</repository>
</repositories>