zoukankan      html  css  js  c++  java
  • linux下安装nexus-2.14.8 -01私服

    一、安装、配置nexus-2.14.8-01私服

    #解压 tar.gz

    tar -zxvf nexus-2.14.8-01-bundle.tar.gz

    #移动到/usr/local 中

    mv nexus-2.14.8-01 /usr/local

    mv sonatype-work/ /usr/local

    # 查看、编辑配置文件

    cd /usr/local/nexus-2.14.8-01

    vi conf/nexus.properties # 默认配置如下,保持默认配置即可


    # Jetty section
    application-port=8081 #端口
    application-host=0.0.0.0
    nexus-webapp=${bundleBasedir}/nexus
    nexus-webapp-context-path=/nexus #上下文

    # Nexus section
    nexus-work=${bundleBasedir}/../sonatype-work/nexus
    runtime=${bundleBasedir}/nexus/WEB-INF


    # orientdb buffer size in megabytes
    storage.diskCache.bufferSize=4096


    vi /usr/local/nexus-2.14.8-01/bin/nexus #修改RUN_AS_USER 为root, NEXUS_HOME程序主目录最好用绝对路径。


    #! /bin/sh

    #
    # Copyright (c) 1999, 2006 Tanuki Software Inc.
    #
    # Java Service Wrapper sh script. Suitable for starting and stopping
    # wrapped Java applications on UNIX platforms.
    #

    #-----------------------------------------------------------------------------
    # These settings can be modified to fit the needs of your application

    # Set this to the root of the Nexus installation
    NEXUS_HOME="/usr/local/nexus-2.14.8-01"

    # If specified, the Wrapper will be run as the specified user.

    # IMPORTANT - Make sure that the user has the required privileges to write into the Nexus installation directory.

    # NOTE - This will set the user which is used to run the Wrapper as well as
    # the JVM and is not useful in situations where a privileged resource or
    # port needs to be allocated prior to the user being changed.
    #RUN_AS_USER=
    RUN_AS_USER="root"
    # Application
    APP_NAME="nexus"
    APP_LONG_NAME="Nexus OSS"

    赋予NEXUS_HOME 目录写入权限
    chmod -R +w /usr/local/nexus-2.14.8-01

    二、nexus服务启动、停止等命令

    ./nexus {console | start | stop |restart |status | dump }

    ./nexus console 在当前控制台窗口启动,按ctrl+c结束进程

    ./nexus start 后台进程启动nexus服务,可查看 logs目录中wrapper.log 输出日志

    ./nexus stop 停止nexus服务。
    三、nexus服管理控制台

    nexus 服务启动比较慢,启动后稍待1分钟左右,访问IP:8081/nexus 进入管理控制台。

    默认超级管理员为 admin,登陆密码 admin123

    默认部署员 deployment, 登陆密码deployment123 .

    使用超级管理员登陆上,点击左侧Respositories ,即可看到所有的仓库了。

    四.私服的简单用法和说明

    登录后,点击左侧Repositories,界面如上图所示。

    右侧的列表中,可以看到nexus预设的几个仓库。

    第一个public Repositories,类型为group,这个简单理解为仓库的集合,下面的仓库就是可以加入到这个集合的元素。

    对外可以只提供一个单独的url,如上图显示为:http://192.168.2.141:8081/nexus/content/groups/public/

    大部分的终端用户,只需要配置上面这一个单独的聚合后的url,而不用单独配置多个仓库。用户也不需要知道某个jar包具体来源于maven 中央仓库,或者是Apache Snapshots,或者是我们自己添加的其他仓库。

    这样的好处在于:如果我们要新增某个仓库(如开源中国、阿里云),客户端不需要做任何更改,只需要在nexus上将要新增的仓库加入到对外提供服务的仓库 group中就可以。

    第二个3rd party,与倒数第一个和第二个仓库,Releases和Snapshots一样,类型为hosted,意思是由nexus本机管理的仓库。该仓库用于商业化的,第三方提供的非开源的依赖仓库,如oracle jdbc driver。

    倒数第二个Releases,用于存放开发团队内部用的正式版的依赖。

    倒数第一个Snapshots,用于存放开发团队内部日常构建的频率更新较快的依赖包。

    Apache Snapshots和Central类型都是proxy,意思是远端仓库的代理。前者包含了Apache Software Foundation 发布的快照版本(这么翻译不知道对不对),后者为Maven中央仓库,我们平时maven默认就是连接该仓库。

    Central M1 Shadow类型为virtual,按官方文档的意思是,只是已有仓库的一个不同呈现方式的映射。有需要可以参考官方手册6.2.3节。

     

    点击Configuration,可以看到当前添加到该集合的仓库列表及顺序(优先级高的在上面,可用鼠标拖拽),当我们新增了仓库,将会出现在右侧的available Repository,添加到左边即可。

    如果有哪个仓库不想加入到该集合,也可以拖拽到右边来。

    使用本地maven客户端测试nexus是否成功部署

    首先复制仓库集合的repository url,客户端配置需要用到。

    然后可以从项目中导入包,或是直接从私服导入包.

     五.nexus创库使用配置

    1.1 新建ilanni私库

    登录nexus2.14.1管理后台后,我们来创建一个自己的私有仓库ilanni,如下:

    Repositories-Add-Hosted Repository

    我们只需要填写Repository ID和Repository Name,其他的保持默认即可。

    通过上图,我们可以看到ilanni这个nexus2.14.1仓库已经创建完毕。

    注意上图中的http://192.168.1.231:8081/nexus/content/repositories/ilanni/连接,该链接地址就是ilanni私库的地址。

    1.2 上传jar包和依赖使用

    ilanni私库创建完毕后,我们现在来给ilanni仓库手工上传一个maven依赖的jar包epps-merchantsignature-0.0.2.jar。

    在上传jar依赖包之前,我们还需要知道该依赖在maven编译文件pom.xml配置中goupid、artifactid和version。如下:

    <dependency>

    <groupId>com.suning.epps.codec.Digest</groupId>

    <artifactId>epps-merchantsignature</artifactId>

    <version>0.0.2</version>

    </dependency>

    有了goupid、artifactid和version与此对应关系,我们现在就可以上传该jar依赖了。如下:

    上图中所需要填写的相关信息都是从前面pom.xml文件中获得的。

    clip_image022

    上图就已经说明jar依赖上传成功。

    注意:上图中的xml圈出来的部分,可以很明显的看出这个和我们前面pom.xml文件中配置的该依赖一模一样的。

    现在我们是知道了该jar包的goupid、artifactid和version,通过pom.xml文件

    但是如果我们不知道goupid、artifactid和version的话,那我们也可以进行自定义goupid、artifactid和version。

    下面来一个实例,现在有一个ilanni.jar文件,是代码所依赖的,要把它上传到nexus私库中。

    同时我们现在给该jar文件定义的groupid为com.ilanni,定义的artifactid为ilanilog,而定义的version为1.0.0。

    上传具体操作如下:

    上传完毕后,我们就可以得到能在pom.xml文件中使用的XML内容如下:

    <dependency>

    <groupId>com.ilanni</groupId>

    <artifactId>ilanilog</artifactId>

    <version>1.0.0</version>

    </dependency>

    除此之外,如果我们不使用内网依赖仓库的话,我们也可以使用公共的依赖仓库,在公共依赖仓库中找到自己需要的依赖复制对应xml到自己的pom.xml文件,就能使用该依赖。

    来个例子:

    现在代码里面需要slf4j-log4j12-1.7.21.jar这个jar包,那么我们就可以从maven官网仓库获取,如下:

    http://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12/1.7.21

    <dependency>

    <groupId>org.slf4j</groupId>

    <artifactId>slf4j-log4j12</artifactId>

    <version>1.7.21</version>

    </dependency>

    现在只需要把XML内容复制到自己的pom.xml文件中,就可以使用该依赖了。

    1.3 新建代理仓库ilanniproxy

    在平时使用过程中,我们使用最多的还是代理远程的maven仓库,这样可以节省公司网络带宽,所以在此我们新建一个代理jenkins仓库的maven仓库ilanniproxy。

    jenkins仓库的地址是:

    http://repo.jenkins-ci.org/public/

    现在我们来新建ilanniproxy仓库,如下:

    Repository ID和Repository Name可以进行自定义,Remote Storage Location填写的是需要代理的远程maven仓库,在此填写的是http://repo.jenkins-ci.org/public/

    ilanniproxy仓库创建完毕后,我们就可以看到ilanniproxy仓库连接地址:

    http://192.168.1.231:8081/nexus/content/repositories/ilanniproxy/

    目前ilanniproxy仓库是空的,我们通过maven进行编译构建时,ilanniproxy仓库才会去http://repo.jenkins-ci.org/public/仓库下载相关依赖。如下:

    通过上图,我们可以看明显的看到目前ilanniproxy仓库,已经有相关的依赖了。

    为了下面验证ilanniproxy仓库的完整性,我们在此记录wagon-gitsite-0.3.5.jar依赖。

    1.4 配置Upgrade:Agent

    Nexus2.14.1要进行仓库迁移的话,需要我们配置Upgrade:Agent,Upgrade:Agent的配置比较简单,如下:

    上图中的Access Token非常重要,在此我们配置的是123456。

    上图是我们配置好了Upgrade:Agent

    1.5 直接上传本地创库到私有库中

    在nexus上新建一个类型为hosted的空创库,如:test01,

    在linux服务器上进入目录../sonatype-work/nexus/storage/test01

    然后把本地创库的文件及包上传到目录../sonatype-work/nexus/storage/test01/目录下即可

  • 相关阅读:
    Java调用wcf
    登录重构小记
    从零打造一个Web地图引擎
    Vue动态组件的实践与原理探究
    揭开Vue异步组件的神秘面纱
    使用vue实现排序算法演示动画
    C#转义字符
    asp.net使用post方式action到另一个页面,在另一个页面接受form表单的值!(报错,已解决!)
    页面关闭事件onbeforeunload 记录
    执行一段sql
  • 原文地址:https://www.cnblogs.com/code4app/p/13212256.html
Copyright © 2011-2022 走看看