• 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    检查是否已安装并卸载

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

    配置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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下载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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    搭建Nexus

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    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服务的上下文路径,暂时不会用
    
    • 1
    • 2
    • 3
    bin/nexus start		# 启动Nexus admin123 
    cat /data//sonatype-work/nexus3/admin.password   #sonatype-work这个路径的修改暂时未找到
    
    • 1
    • 2

    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中使用。
    
    • 1
    • 2
    • 3
    • 4

    使用Nexus

    1. 在Maven的 setting.xml中配置nexus访问权限
    cat  apache-maven-3.6.1/conf/settings.xml  #默认注释的
    
     
        
          releases	#id,服务器的ID,Maven在连接一个库或者镜像的时候,通过id匹配要连接的服务器;
          admin
          123456
        
    
        
          snapshots
          /path/to/private/key
          optional; leave empty if not used.
        
    
      
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    1. 在项目的pom.xml中配置nexus仓库位置 :
     
      
    	 
    		releases 
    		http://192.168.1.11:8081/repository/maven-releases/ 
    	  
    	 
    		snapshots 
    		http://192.168.1.11:8081/repository/maven-snapshots/ 					
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

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

    maven

    在这里插入图片描述

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

    在这里插入图片描述
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    http://192.168.1.11:8081/repository/npm-package/
    
    • 1
    [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文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    创建自定义角色以及用户

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

  • 相关阅读:
    Redis缓存以及存在的问题--缓存穿透、缓存雪崩、缓存击穿及解决方法
    【SQL刷题】Day3----SQL必会的常用函数专项练习
    字节跳动后端工程师实习生笔试题-c++
    软件测试笔试题总结
    Ai版式设计类型 优漫动游
    @WebServlet注解(Servlet注解)
    图像处理入门:从平滑到面积测量的C++实践指南
    ns-3 多天线设置与ns-3信道设置
    [杂记]关于C++中友元的一些理解
    /etc/sysctl.conf的参数
  • 原文地址:https://blog.csdn.net/weixin_60092693/article/details/128063888