Docker部署Nexus通过Maven推送及拉取代码

news/2024/11/20 0:37:50/
😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: Docker部署Nexus通过Maven推送及拉取代码
⏱️ @ 创作时间: 2023年1月16日

目录

  • 1、拉取镜像
  • 2、启动镜像
  • 3、登录系统
  • 4、配置中央仓库
  • 5、用户管理
  • 6、创建仓库
  • 7、代码推送
  • 8、引入私有仓库包

1、拉取镜像

  • 搭建版本:3.45.0

  • 参考地址:https://hub.docker.com/r/sonatype/nexus3/tags

  • 创建工作目录

# 挂载目录
mkdir /home/docker/nexus# 授权
chmod 777 -R /home/docker/nexus
  • 拉取镜像
# 拉取镜像
docker pull sonatype/nexus3:3.45.0

2、启动镜像

  • 挂载启动Nexus
docker run -d --restart=always \
-p 8081:8081 \
-v /home/docker/nexus:/nexus-data \
--name=nexus3 \
sonatype/nexus3:3.45.0
  • 8081: nexus3 默认服务端口
  • 测试访问

    测试地址:http://192.168.80.121:9091/
    在这里插入图片描述

3、登录系统

nexus的默认用户名为admin

默认密码位置在/home/nexus/sonatype-work/nexus3/admin.password中,使用时直接复制即可,密码为一个uuid

cat /home/nexus/sonatype-work/nexus3/admin.password

在首次登录系统后,会进行一次密码修改

4、配置中央仓库

仓库地址:https://mirrors.huaweicloud.com/repository/maven/
在这里插入图片描述

在这里插入图片描述

5、用户管理

1、添加角色
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、创建用户
在这里插入图片描述
在这里插入图片描述

6、创建仓库

1、创建maven2(hosted)类型仓库

创建仓库需要在登录后才能进行

点击Create repository,然后选择类型为 maven2(hosted)
在这里插入图片描述

在这里插入图片描述

2、设置仓库属性

Maven 仓库分为两种:Snapshot 快照仓库Release 发行仓库

Snapshot 快照仓库用于保存开发过程中的不稳定 SNAPSHOT 版本,Release 发行仓库则用来保存稳定的 RELEASE 版本。

仓库名称设置为 lhz-release(任意);

Version policy选择为Release

Deployment policy选择Allow redeploy,允许部署和更新私服上的组件。

3、添加到仓库组
在这里插入图片描述

在这里插入图片描述

7、代码推送

1、POM文件自动推送

在本地Mavensetting.xml文件中,在<servers>标签中添加Neuxs私服的配置,如下

<servers>
<!--nexus服务器--><servers>  <server><!--任意值--><id>lhz-nexus</id><!--私服的访问账户--><username>admin</username>  <!--私服的访问密码--><password>123321</password>  </server>
</servers>

在需要推送到Nexus仓库代码的POM.XML中,配置推送的仓库及地址

<!--dependencies下面-->
<distributionManagement><!--推送到release版本的仓库--><repository><!-- 需要和conf文件下pom文件server标签中id保持一致 --><id>lhz-nexus</id><name>nexus release</name><!--推送的仓库地址--><url>http://192.168.80.121:9090/repository/lhz-release/</url></repository>
</distributionManagement>

执行推送:

# maven推送命令
mvn clean deploy# 推送项目中的部分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"><groupId>com.lhz.utils</groupId><artifactId>template-common-utils</artifactId><packaging>jar</packaging><version>2.0</version><modelVersion>4.0.0</modelVersion><properties><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.source>1.8</maven.compiler.source></properties><dependencies><dependency><groupId>eu.bitwalker</groupId><artifactId>UserAgentUtils</artifactId><version>1.21</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId><version>1.22</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.15</version></dependency>............<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.8.1</version></dependency></dependencies><!--dependencies下面--><distributionManagement><!--推送到release版本的仓库--><repository><!-- 需要和conf文件下pom文件server标签中id保持一致 --><id>lhz-nexus</id><name>nexus release</name><url>http://192.168.80.121:9090/repository/lhz-release/</url></repository></distributionManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

在这里插入图片描述

2、手动上传jar包到nexus
在这里插入图片描述

在这里插入图片描述

8、引入私有仓库包

配置如下:

<!--maven配置添加私服的镜像地址,settings.xml 文件中-->
<mirrors><!--如果http不被允许的话,将屏蔽下面的`maven-default-http-blocker`配置--><mirror><id>maven-default-http-blocker</id><mirrorOf>external:http:*</mirrorOf><name>Pseudo repository to mirror external repositories initially using HTTP.</name><url>http://0.0.0.0/</url><blocked>true</blocked></mirror><!--添加私服镜像--><mirror><id>lhz-nexus</id><!--任意值--><name>nexus repository</name> <mirrorOf>*</mirrorOf>  <url>http://192.168.80.121:9090/repository/maven-public/</url>  </mirror>
</mirrors><!--需要拉取jar包的项目中,pom.xml 文件中--><repositories><repository><!--与mirror配置的一致--><id>lhz-nexus</id><name>Nexus Reposotory</name><url>http://192.168.80.121:9090/repository/maven-public/</url>  <releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>

http://www.ppmy.cn/news/12580.html

相关文章

Cookie和Session以及相关的方法

作者&#xff1a;~小明学编程 文章专栏&#xff1a;JavaEE 格言&#xff1a;热爱编程的&#xff0c;终将被编程所厚爱。 目录 Cookie 什么是Cookie? 为什么要用Cookie? Cookie的原理 Session 什么是Session? 为什么要用Session? Session原理 核心方法 实现用户登…

【Go基础】结构体

1. 结构体引入 Golang也支持面向对象编程&#xff0c;但是和传统的面向对象有区别&#xff0c;并不是像Java、C那样纯粹的面向对象语言&#xff0c;而是通过特别的手段实现面向对象特点。 Golang没有类(Class)的概念&#xff0c;但是提供了结构体(struct)&#xff0c;和其他编…

装修--避坑--厨房

瓷砖胶 大砖上墙要用瓷砖胶&#xff0c;瓷砖胶要看执行标准&#xff0c;瓷砖边长大于90公分的&#xff0c;至少要用C2型&#xff0c;沾性能力更强边长小于90公分的&#xff0c;至少要用C1型。C0型只适合边长80公分一下的陶瓷砖&#xff0c;用错了后期瓷砖照样脱落背胶是过时的…

【爬虫】第七部分 scrapy

【爬虫】第七部分 scrapy 文章目录【爬虫】第七部分 scrapy7. scrapy7.1 基本使用7.2 项目的文件结构7.3 response的方法和属性7.4 小案例7.5 scrapy 工作原理7.6 管道的使用7.7 多管道下载7.8 下载分页类型和get请求的使用7.9 下载多层级类型7.10 post请求的使用总结7. scrapy…

c语言实现扫雷(详细讲解)

本篇介绍,讲解如何使用c语言实现扫雷小游戏. 金句分享: ✨✨✨爱你所爱,行你所行✨✨✨ 目录前言:一、游戏设计思路介绍:效果展示二、游戏的分步讲解2.1、主函数测试区&#xff08;test.c&#xff09;基本构成2.2、游戏中函数实现区(game.c) (重点)2.21、雷盘的创建与初始化函…

【数据结构】手撕八大排序算法

作者&#xff1a;一个喜欢猫咪的的程序员 专栏&#xff1a;《数据结构》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 目录 1.排序的概念&#xff1a; 2.八大排序的思路及其细节 2.1直接插入排序 …

java springboot 项目构建报错解决办法

这里总结了一些常见的springboot 项目构建报错及解决办法 错误: 无效的源发行版:17 错误原因 build.gradle 文件中可以通过下面两项来指定项目运行所需的jdk版本 sourceCompatibility:指定编译编译.java文件的jdk版本 targetCompatibility&#xff1a;确保class文件与target…

回归预测 | MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机多输入单输出

回归预测 | MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机多输入单输出 目录回归预测 | MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机多输入单输出预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 MATLAB实现SSA-LSSVM麻雀算法优化最小二乘支持向量机…