iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >利用Docker搭建Nexus私有仓库实现Maven私服
  • 543
分享到

利用Docker搭建Nexus私有仓库实现Maven私服

2024-04-02 19:04:59 543人浏览 泡泡鱼
摘要

目录一、前言二、Nexus搭建三、配置仓库3.1 配置加速库3.2 创建私有仓库四、配置权限五、上传jar包六、使用Jar包一、前言 相信国内的小伙伴都经历过,Gradle、Mave

一、前言

相信国内的小伙伴都经历过,Gradle、Maven、NPM下拉速度过慢的情况。我们一般的做法是配置阿里云这样的中央仓库。加速问题是可以采用这种方式解决,但如果是团队内部的库想进行上传分发,传到Maven Central这种共用的Maven仓库就不太合适了。那样保密性和时效性都将收到破坏。所以在团队内部,我们一般都会搭建局域网内私有的中央仓库。支撑这种私有仓库的软件就是Nexus,本文将详细介绍如何从零搭建、上传库、下拉库整个使用过程。

二、Nexus搭建

现如今万物皆可Docker,我们没必要破坏本机系统原生安装了。直接新建一个docker-compose.yml文件,写入如下内容:

version: '3.1'
services:
  nexus:
    restart: always
    image: sonatype/nexus3
    container_name: nexus
    ports:
      - 6005:8081
    volumes:
      - /data/Docker/nexus/data:/nexus-data   

注意最后一行volumens映射的位置,如需备份还原,只需要将这个文件夹打包恢复即可。
写好后,运行docker-compose up -d运行即可。然后访问服务器6005端口,看到这个界面就算搭建成功了。

三、配置仓库

搭建好后,会有一些默认的仓库:

maven-central:maven 中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jar
maven-releases:私库发行版 jar maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务

概念说明:

group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为Releases、Snapshots、Central,当然你也可以自己设置。
hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件 snapshots:本地项目的快照仓库
releases: 本地项目发布的正式版本
proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration 页签下 Remote Storage 属性的值即被代理的远程仓库的路径),如可配置阿里云 maven 仓库
central:中央仓库

3.1 配置加速库

我们通过上文了解到,Nexus默认会从maven.org拉取我们需要的公共库。我们需要配置一个阿里云的加速库,这样凡是需要公共库的都会优先从阿里云加速下载。在设置中,点击创建仓库。

可以看到,我们可以创建多种仓库,Docker、Maven、NPM、Yum都可以。本文就以Maven为例了,其他仓库都类似。

可以写个名字,然后在Remote Storage的地址栏中,输入阿里云的Maven仓库:Http://maven.aliyun.com/nexus/content/groups/public/

写好后,就可以保存了。然后再进入maven-public组的设置,将我们刚刚创建的aliyun-repository代理库添加到右边,并调到第一个位置。这样一些公共库比如spring就会默认从阿里云那边下载,并且Nexus会自带缓存功能,只有第一次需要下载。后续将直接从局域网的Nexus下载,大大加快了下载速度。(非常适合没有外网开发的团队)

3.2 创建私有仓库

配置好Maven的基础加速库后,我们就来创建一个团队内部使用的Maven仓库。我们继续点击创建仓库,这里选择maven2(hosted)

Version policy下面有Release(正式版)、Snapshots(测试版)、Mixed(混合)三个选项,其实和我们平时引用第三方的库是一样的,只是我们一般会引用第三方库的正式版。Deployment policy这里我选择了Allow redeploy可以覆盖上传,你可以根据自身情况调整下面这些参数。

创建好后就可以直接使用了。但在此之前,我们最好配置一下开发账号,因为上传库的时候需要有账号密码。如果直接把系统管理员的账号给开发者会比较危险,毕竟现在删库跑路的很多。

四、配置权限

在设置页面的Roles里先创建一个角色:

然后只给这个开发这个角色,固定仓库的浏览和编辑权限。

最后创建用户,然后将该用户名、密码和该仓库的地址给到开发者就可以了。

仓库地址可以点击列表中Copy得到:

五、上传Jar包

上传Jar包到私有仓库的方式其实有很多种,我们一般项目中一般会采用Maven或Gradle脚本来进行。Maven大家应该都比较熟了,我这里就用安卓人狂喜的Gradle来演示一下。在build.gradle中编写如下脚本即可上传。

方便大佬复制:

group 'com.niubi'
version '1.0-SNAPSHOT'
//加载插件
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'idea'
//配置打Jar包的参数
javadoc {
    failOnError false
    options.addStrinGoption('Xdoclint:none', '-quiet')
    options.addStringOption('encoding', 'UTF-8')
    options.addStringOption('charSet', 'UTF-8')
}
//打包文档
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from 'build/docs/javadoc'
}
//打包源代码
task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

artifacts {
    arcHives jar
    archives javadocJar
    archives sourcesJar
}
uploadArchives {
    repositories {
        mavenDeployer {
            // 开发版
            snapshotRepository(url: "http://XXX:6005/repository/GfptLib/") {
                authentication(userName: "xxx", passWord: "xxx")
            }
            
			// 只发布jar包
            addFilter('jar') {artifact, file ->
                artifact.ext == 'jar'
            }
            pom.groupId = "$project.group"
            pom.artifactId = "$project.name"
            pom.version = "$project.version"
        }
    }
}

和Maven一样,我们写好后,可以直接在IDEA的Gradle窗口中看到这个命令,双击即可运行上传:

运行成功后,就可以在Maven仓库中看到该Jar包,并可以将该jar包引用到项目中去。

六、使用Jar包

和引用第三方库的用法一样,只需要将刚刚上传jar包的坐标写对后就可以使用:

compile("com.niubi:util:latest.integration")

当然,在仓库依赖地址中,我们需要加入自己的Maven私服地址:

// 【仓库设置】
repositories {
    // 使用本地仓库
    mavenLocal()
    // 使用团队私服仓库
    maven {
        url "http://xxx:6005/repository/GfptLib/"
    }
    maven {
        url "http://xxx:6005/repository/maven-public/"
    }
    // 使用 Gradle 的自身默认配置加载仓库
    mavenCentral()
}

重新编译一下,就可以下载到我们刚刚上传的Jar包了。

到此这篇关于Docker轻松搭建Nexus私有仓库,实现Maven私服的文章就介绍到这了,更多相关Docker搭建Nexus私有仓库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 利用Docker搭建Nexus私有仓库实现Maven私服

本文链接: https://www.lsjlt.com/news/164002.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用Docker搭建Nexus私有仓库实现Maven私服
    目录一、前言二、Nexus搭建三、配置仓库3.1 配置加速库3.2 创建私有仓库四、配置权限五、上传Jar包六、使用Jar包一、前言 相信国内的小伙伴都经历过,Gradle、Mave...
    99+
    2024-04-02
  • Docker 搭建nexus私服
    有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:Apache基金会的Archiva、JFrog的Artifactory和Sonatype的Nexus。而Nexus是当前最流行的Maven仓库管理工具。 私服是一种特殊的远程仓库,...
    99+
    2023-01-31
    私服 Docker nexus
  • 如何搭建私有maven仓库?
    Maven仓库 如何搭建私有maven仓库? ChatGPT: 要搭建私有 Maven 仓库,您可以按照以下步骤进行操作: 选择 Maven 仓库管理器:有多种 Maven 仓库管理器可供选择,比如 Nexus、Artifactory 等。...
    99+
    2023-08-30
    maven java gradle
  • 搭建maven私有仓库的方法实现
    目录1. 为什么需要搭建Maven私有仓库2. 选择Maven私有仓库管理系统2.1 Nexus Repository Manager OSS简介3. 搭建Maven私有仓库3.1 ...
    99+
    2023-05-20
    搭建maven私有仓库 maven私有仓库搭建
  • 如何搭建maven私有仓库
    要搭建Maven私有仓库,可以按照以下步骤进行操作:1. 安装和配置Nexus或Artifactory: Nexus和Artifac...
    99+
    2023-08-26
    maven
  • 怎么搭建maven私有仓库
    本篇文章和大家了解一下怎么搭建maven私有仓库。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。在本篇文章中,我们将介绍如何搭建一个Maven私有仓库。在软件开发过程中,依赖管理是一个重要的环节。Maven是一个流行的Ja...
    99+
    2023-07-06
  • docker怎么搭建私有仓库
    要搭建私有仓库,您可以按照以下步骤操作: 安装Docker:确保您的系统中已经安装了Docker。具体安装步骤可以参考Docke...
    99+
    2023-10-26
    docker
  • docker私有仓库如何搭建
    这篇文章将为大家详细讲解有关docker私有仓库如何搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker-registry的部署      &n...
    99+
    2023-06-04
  • Nexus存储库管理器搭建-Maven私服
    写在前面 🍁个人主页:微枫Micromaple ✨本期专栏:《0到1项目搭建》欢迎订阅学习~ 📌源码获取:GitCode、GitHub、码云Gitee 持续更新...
    99+
    2023-09-24
    maven java 开发语言 spring boot 后端
  • Harbor搭建Docker私有仓库的实现方法
    目录1 开源的仓库管理工具Harbor2 安装2.1 安装Docker和Docker-compose2.2 安装Harbor3 简单使用3.1 用admin创建用户3.2 新用户创建...
    99+
    2024-04-02
  • 怎么在ubuntu12.04安装nexus-maven私有仓库
    这篇文章主要介绍“怎么在ubuntu12.04安装nexus-maven私有仓库”,在日常操作中,相信很多人在怎么在ubuntu12.04安装nexus-maven私有仓库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-13
  • Linux中怎么搭建Docker私有仓库
    本篇内容主要讲解“Linux中怎么搭建Docker私有仓库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中怎么搭建Docker私有仓库”吧!1、下载registry镜像[root@lo...
    99+
    2023-06-27
  • docker私有镜像仓库怎么搭建
    要搭建一个Docker私有镜像仓库,可以按照以下步骤进行操作:1. 安装Docker:首先确保你的服务器上已经安装了Docker引擎...
    99+
    2023-09-23
    docker
  • docker私有仓库如何搭建与使用
    本篇内容主要讲解“docker私有仓库如何搭建与使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker私有仓库如何搭建与使用”吧!环境规划需要两台机器:...
    99+
    2024-04-02
  • docker registry 私有仓库的搭建过程
    目录摘要一、环境准备二、配置registry私有仓库三、上传与下载镜像四、配置registry加载身份验证五、 docker registry 私有仓库查询、删除博文参考摘...
    99+
    2024-04-02
  • 怎么搭建配置Docker私有仓库
    这篇文章主要讲解了“怎么搭建配置Docker私有仓库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建配置Docker私有仓库”吧!⛳️ 1.Docker容器三要素Docker 是一个开...
    99+
    2023-07-02
  • Linux中如何搭建Docker私有仓库
    本篇内容介绍了“Linux中如何搭建Docker私有仓库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用Docker私有仓库可以帮助我们节...
    99+
    2023-06-27
  • docker私有仓库的搭建和使用的方法
    本篇内容介绍了“docker私有仓库的搭建和使用的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.下...
    99+
    2024-04-02
  • 如何进行docker registry 私有仓库的搭建
    这期内容当中小编将会给大家带来有关如何进行docker registry 私有仓库的搭建,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。摘要随着docker使用的镜像越来越多,就需要有一...
    99+
    2023-06-26
  • docker如何建立私有仓库
    小编给大家分享一下docker如何建立私有仓库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在 Docker 中,当我们执行 docker pull xxx 的时...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作