zoukankan      html  css  js  c++  java
  • nexus 笔记

    什么是nexus?

    Nexus 是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。

    怎么使用nexus?

    创建并编辑docker-compose模板文件

    version: '3.1'
    services:
      nexus:
        restart: always
        image: sonatype/nexus3
        container_name: nexus
        ports:
          - 8081:8081
        volumes:
          - /usr/local/docker/nexus/data:/nexus-data

    这里有个小坑 如果运行docker-compose up报错  我们需要赋予挂载目录的权限

    chmod 777 /usr/local/docker/nexus/data

    这里需要等待大概五分钟等服务完全启动起来

    这个时候我们在浏览器输入http://ip:port/  这里ip是你linux服务器ip  port为你设置的端口

     

    Nexus仓库简单介绍

    意为第三方仓库,如:

    • maven-central
    • nuget.org-proxy

    版本策略(Version Policy):

    • Release: 正式版本
    • Snapshot: 快照版本
    • Mixed: 混合模式

    布局策略(Layout Policy):

    • Strict:严格
    • Permissive:宽松

    宿主仓库(Hosted Repository)

    存储本地上传的组件和资源的,如:

    • maven-releases
    • maven-snapshots
    • nuget-hosted

    部署策略(Deployment Policy):

    • Allow Redeploy:允许重新部署
    • Disable Redeploy:禁止重新部署
    • Read-Only:只读

    仓库组(Repository Group)

    通常包含了多个代理仓库和宿主仓库,在项目中只要引入仓库组就可以下载到代理仓库和宿主仓库中的包,如:

    • maven-public
    • nuget-group

    在项目中使用Nexus私服

    1.配置认证信息

    <server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    
    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

    这个时候我们就可以登陆了

    登陆以后我们就可以看到目录结构了

    Snapshots 与 Releases 的区别

    • nexus-releases: 用于发布 Release 版本
    • nexus-snapshots: 用于发布 Snapshot 版本(快照版)

    Release 版本与 Snapshot 定义如下:

    Release: 1.0.0/1.0.0-RELEASE
    Snapshot: 1.0.0-SNAPSHOT
    
    • 在项目 pom.xml 中设置的版本号添加 SNAPSHOT 标识的都会发布为 SNAPSHOT 版本,没有 SNAPSHOT 标识的都会发布为 RELEASE 版本。
    • SNAPSHOT 版本会自动加一个时间作为标识,如:1.0.0-SNAPSHOT 发布后为变成 1.0.0-SNAPSHOT-20180522.123456-1.jar

    配置自动化部署

    <distributionManagement>  
      <repository>  
        <id>nexus-releases</id>  
        <name>Nexus Release Repository</name>  
        <url>http://127.0.0.1:8081/repository/maven-releases/</url>  
      </repository>  
      <snapshotRepository>  
        <id>nexus-snapshots</id>  
        <name>Nexus Snapshot Repository</name>  
        <url>http://127.0.0.1:8081/repository/maven-snapshots/</url>  
      </snapshotRepository>  
    </distributionManagement> 

    注意:这里将里面的ip改成自己的ip

    部署到仓库

    在idea上输入命令:mvn deploy

    最好在执行这条命令clear下

    如果命令不行建议使用idea的maven命令界面里手动执行这两条命令

    上传第三方架包的命令:

    mvn deploy:deploy-file -DgroupId=easydbo -DartifactId=easydbo -Dversion=0.9.1 -Dpackaging=jar -Dfile=c:easydbo-0.9.1.jar -Durl=http://10.3.135.166:8081/repository/maven-releases/ -DrepositoryId=nexus-releases

    其中  DgroupId这个为上传上去的架包名  DartifactId=easydbo 任意设置 Dversion  架包版本号:这个自己也可以任意设置   Dfile:架包来源的路径  这里自己要更改目录到架包所在实际目录我这里放在C盘所以就给放在C盘下面  -Durl:10.3.135.166:8081这个要改成自己的ip地址

  • 相关阅读:
    多线程对各种变量共享(经典)
    offsetHeight/Width clientHeight/Width scrollHeight/Width等高宽算法
    javascript基础-DOM原理
    放弃FreeMark?
    前端项目的开展
    【JAVA错误笔记】
    【JAVA错误笔记】
    【JAVA错误笔记】
    MVC Filter自定义异常(拦截)
    MVC Filter自定义验证(拦截)
  • 原文地址:https://www.cnblogs.com/codessuperman/p/10864067.html
Copyright © 2011-2022 走看看