九、rancher搭建自己的maven私服

1.前言

最近公司外包凯*代码遇到点问题就是有一些验证码代码是封装的,改封装代码没地方上传,我们虽然有源码但是不能上传到maven仓库,因为是三方合作公司的maven是公司仓库不允许随便更改,没办法,我就自己搭建maven私人仓库,进入正题,官方没找到rancher搭建maven说明,不过只要我之前写rancher搭建你都会,现在这个搭建你会觉得更简单。

2.找到maven搭建docker镜像

参考官方镜像地址:https://hub.docker.com/r/sonatype/nexus3/

3.rancher配置

rancher配置1

rancher配置2

rancher配置3

rancher日志

4.访问测试如图,此时在浏览器输入:http://ip:8029即可看到以下页面:(ip为远程主机的ip地址就是你部署服务器地址)

访问.png

记得点击右上方的Sign in进行登录,初始账号密码为admin/admin123.请登录后修改密码


maven配置

maven配置

可以看到默认情况下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(这个很重要).


zencloud-boot1

zencloud-boot2

6.本地操作

修改本地你的maven的配置文件settings.xml,一般默认是C:\Users\Zencloud.m2目录下的settings.xml如图, 这里指定私库的账号密码,id解释一下是和你项目pom.xml里面的id对应上才行否则会找不到用户的帐号密码授权失败:


setting.xml

使用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>
成功

指导qq:179061434

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先私服是一种衍生出来的特殊的Maven远程仓库,构建私服的好处请看3.5私服 可以帮助大家建立私服的仓库管理软件...
    zlcook阅读 10,668评论 0 32
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,178评论 0 25
  • 简介 概述 Maven 是一个项目管理和整合工具 Maven 为开发者提供了一套完整的构建生命周期框架 Maven...
    闽越布衣阅读 4,363评论 6 39
  • 一个正常的孩子肯定或多或少受到家庭的影响,也许有的人根本就走不出家庭的影响,这是有原因的。人为什么孝顺呢?因为你不...
    xinfang阅读 285评论 0 0