我是靠谱客的博主 如意夕阳,这篇文章主要介绍nexus搭建测试docker&maven&npm仓库,现在分享给大家,希望可以做个参考。

JAVA下载
https://www.oracle.com/java/technologies/downloads/archive/
https://login.oracle.com/mysso/signon.jsp
QQq951699.

[root@vm1 ~]# mkdir -p /data
[root@vm1 ~]# mv jdk-8u221-linux-i586.tar.gz /data
[root@vm1 ~]# cd /data;tar xf jdk-8u221-linux-i586.tar.gz;ls
jdk1.8.0_221
[root@vm jdk1.8.0_221]# cd jdk1.8.0_221;pwd
/data/jdk1.8.0_221

检查是否已安装并卸载

[root@vm1 data]# java -version
[root@vm1 data]# rpm -qa|grep jdk
[root@vm1 data]# rpm -e jdk全名

配置JDK

vim /etc/profile
#追加
export JAVA_HOME=/data/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version
-bash: /data/jdk1.8.0_221/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
yum provides ld-linux.so.2
yum -y install glibc-2.17-317.el7.i686
java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)

下载Maven

官网下载Maven的Linux版的压缩包,这里以Maven3.6.1为

下载地址:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/

tar xf apache-maven-3.6.1-bin.tar.gz
cd apache-maven-3.6.1/  ;pwd
/data/apache-maven-3.6.1

vi /etc/profile
export MAVEN_HOME=/data/apache-maven-3.6.1
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile
mvn -version

搭建Nexus

节省外网带宽,加速Maven构建 , 提高效率。部署第三方组件。提高稳定性,增强安全控制。降低中央仓库的负荷。
建立本地内部公用仓库,课用作docker镜像仓库,npm仓库

Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party.

Releases:

这里存放我们自己项目中发布的组件, 通常是Release版本的, 比如我们自己做了一个Web Server的项目, 生成的
构件为server.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库.

Snapshots:

这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.

3rd Party:

顾名思义, 第三方库, 指的是可以让你添加自己的第三方库, 比如有些组件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。

下载地址:https://www.sonatype.com/download-nexus-repo-oss,oss版是免费的

tar xf nexus-3.20.1-01-unix.tar.gz
cd nexus-3.20.1-01/
pwd
/data/nexus-3.20.1-01
vim bin/nexus
run_as_user='root' 
run_as_root=false

Nexus安装目录下nexus-3.20.1-01/etc/nexus-default.properties配置表中可以修改以下属性:

application-port=8081 # Nexus服务监听的端口; 
application-host=0.0.0.0 	# Nexus服务监听的主机
nexus-context-path=/		# Nexus服务的上下文路径,暂时不会用
bin/nexus start		# 启动Nexus admin123 
cat /data//sonatype-work/nexus3/admin.password   #sonatype-work这个路径的修改暂时未找到

192.168.1.11:8081 启动比较慢
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

使用Nexus

  1. 在Maven的 setting.xml中配置nexus访问权限
cat  apache-maven-3.6.1/conf/settings.xml  #默认注释的

 <servers>
    <server>
      <id>releases</id>	#id,服务器的ID,Maven在连接一个库或者镜像的时候,通过id匹配要连接的服务器;
      <username>admin</username>
      <password>123456</password>
    </server>

    <server>
      <id>snapshots</id>
      <privateKey>/path/to/private/key</privateKey>
      <passphrase>optional; leave empty if not used.</passphrase>
    </server>

  </servers>

  1. 在项目的pom.xml中配置nexus仓库位置 :
<!-- 使用分发管理将本项目打成jar包,直接上传到 指定服务器 --> 
<distributionManagement> <!--正式版本--> 
	<repository> 
		<id>releases</id> 
		<url>http://192.168.1.11:8081/repository/maven-releases/</url> 
	</repository> <!--快照--> 
	<snapshotRepository> 
		<id>snapshots</id> 
		<url>http://192.168.1.11:8081/repository/maven-snapshots/</url> 					</snapshotRepository>
</distributionManagement>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

docker仓库

创建一个Hosted的仓库作为private仓库
在这里插入图片描述
在这里插入图片描述

[root@vm data]# curl -o /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@vm data]# yum -y install docker 
[root@vm data]# systemctl start docker
[root@vm data]# cat /etc/docker/daemon.json
{
  "insecure-registries":["192.168.1.11:8888"]
}
[root@vm data]# systemctl restart docker
[root@vm data]# docker login http://192.168.1.11:8888
Username: admin
Password:
Login Succeeded
[root@vm data]# docker pull busybox
[root@vm data]# docker tag docker.io/busybox:latest   192.168.1.11:8888/busybox:latest
[root@vm data]# docker push 192.168.1.11:8888/busybox:latest
The push refers to a repository [192.168.1.11:8888/busybox]
40cf597a9181: Pushed

在这里插入图片描述
在这里插入图片描述

maven

在这里插入图片描述

Version pollcy:版本策略;有三种版本策略,分别是:
Release:发行版
Snapshot:快照版
Mixed:混合模式
Layout pollcy:布局策略;有两种布局策略 , 分别是 :
Strict:严格
Permissive:宽松
Deployment pollcy:部署策略;有三种部署策略 , 分别是 :
Allow redeploy:允许重新部署
Disable redeploy:禁止重新部署
Read-only:只读

在这里插入图片描述
proxy

在这里插入图片描述

npm仓库

https://nodejs.org/download/release/latest-v14.x/

[root@vm data]# tar xf node-v14.21.1-linux-x64.tar.gz
[root@vm data]# ln -s /data/node-v14.21.1-linux-x64/bin/* /usr/local/bin/
[root@vm data]# ls /usr/local/bin/
corepack  node  npm  npx
[root@vm data]# npm -v
6.14.17

在这里插入图片描述

http://192.168.1.11:8081/repository/npm-package/
[root@vm data]#  npm config set registry http://192.168.1.11:8081/repository/npm-package/
[root@vm data]# npm login -registry=http://192.168.1.11:8081/repository/npm-package/
Username: admin
Password:
Email: (this IS public) (345243656qq.com) 345243656@qq.com
Logged in as admin on http://192.168.1.11:8081/repository/npm-package/.
[root@vm data]# npm publish -registry=http://192.168.1.11:8081/repository/npm-package/
#要发布的模块,必须保证在目录下有package.json文件

创建自定义角色以及用户

角色roles
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用户
在这里插入图片描述
在这里插入图片描述
登录验证

最后

以上就是如意夕阳最近收集整理的关于nexus搭建测试docker&maven&npm仓库的全部内容,更多相关nexus搭建测试docker&maven&npm仓库内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(106)

评论列表共有 0 条评论

立即
投稿
返回
顶部