nexus-2.14安装使用备份迁移
一、环境
1.1 安装软件
java1.8
apache-maven-3.6.0
nexus-2.14.0-01 搭建私服
路径
java:/usr/local/java
maven:/opt/apache-maven-3.6.0
nexus:/data/nexus-2.14.0-01
二、安装nexus-2.14.0-01及使用
2.1 解压安装
tar -zxf nexus-2.14.0-01-bundle.tar.gz
mv nexus-2.14.0-01 /data/
mv sonatype-work /data/
2.2 修改配置
2.2.1 修改端口和数据存储路径
cd /data/nexus/nexus-2.14.0-01/conf
cp nexus.properties nexus.properties-bak
vim nexus.properties
2.2.2 修改启动文件中安装目录和运行用户
cd /data/nexus/nexus-2.14.0-01/bin
cp nexus nexus-bak
vim nexus
2.2.3 配置JDK环境变量
如果是源码安装的JDK,可以修改为绝对路径。做了环境变量可以不用修改,rpm安装的也不需要修改
cd /data/nexus/nexus-2.14.0-01/bin/jsw/conf
vim wrapper.conf
2.3 设置开机自启
cd /data/nexus/nexus-2.14.0-01/bin
cp nexus /etc/init.d/nexus2
chkconfig –add nexus2
chkconfig nexus2 on
2.4 命令操作
Usage: ./nexus { console | start | stop | restart | status | dump }
nexus console 在当前控制台窗口启动,按ctrl+c结束
nexus start 后台进程启动,可查看logs目录中warpper.log输出日志
nexus stop 停止
2.5 web登录
默认管理员:admin admin123
默认部署员:deployment deployment123
http://192.168.2.19:9090/nexus
2.6私服说明
2.6.1 仓库说明
默认仓库/data/nexus/sonatype-work/nexus
apache-snapshots central central-m1 public releases snapshots thirdparty
1)public Repositories:类型为group,这个可以理解为仓库的集合,可以把其他仓库加入到这个组里对外展示。
大部分的终端用户,只需要配置上面这一个单独的组合后的URL,而不是单独配置多个仓库。用户也不需要知道某个jar包具体来源于maven中央仓库,或者是Apache Snapshots,或者是我们自己添加的其他仓库。
这样的好处在于:如果我们要新增某个仓库(如开源中国、阿里云),客户端不需要做任何更改,只需要在nexus上将要新增的仓库加入到对外提供服务的仓库group中就可以了。
2)3rd party 与 Releases和Snapshots一样,类型为hosted,意思是由nexus本机管理的仓库。该仓库用于商业化的,第三方提供的非开源的依赖仓库,如oracle jdbc driver。
3)Release 用于存放开发团队内部用的正式版的依赖。
4)Snapshots 用于存放开发团队内部日常构建的频率更新较快的依赖包。
5)Apache Snapshots 和 Central 类型都是proxy,意思是远端仓库的代理。前者包含了Apache Software Foundation发布的快照版本,后者为Maven中央仓库,我们平时maven默认就是连接的该仓库。
6)Central M1 Shadow类型为virtual,意思是只是已有仓库的一个不同呈现方式的映射。
2.7 使用本地仓库
2.7.1 group类型仓库添加删除
2.7.2 新建本地仓库
1)Repositorues-Add-Hosted Repository
2)配置仓库
2.7.3 web页面上传
根据pom信息上传
1)获取pom.xml信息
上传注意事项:
需要知道jar包在maven编译文件pom.xml配置中goupId、artifactId、versionx信息
例:pom.xml文件中的配置
<dependency>
<groupId>com.test</groupId>
<artifactId>telnetd</artifactId>
<version>2.3</version>
</dependency>
2)上传
自定义pom信息上传
1)上传
2)结果
2.8 使用公共依赖仓库
例:目前代码中需要slf4j-log4j12-1.7.21.jar这个包,那我们就可以从maven官网仓库获取,如下:
以下信息进入官网找到jar包就可以获取,只需要将这些信息复制进pom文件中就可以调用了。
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>
2.9 使用代理仓库
例:
Jenkins仓库地址为:http://repo.jenkins-ci.org/public/
1)新建proxy
2)代理解释
目前仓库是空的,进行编译构建时,Jenkins-proxy才会去官网下载相关依赖。
2.10 通过服务器上传到仓库
在nexus上创建一个类型为hosted的仓库
在Linux服务器上进入仓库目录…/ sonatype-work/nexus/storage/local-test
然后把本地文件及包上传到目录下即可。
三、nexus-2.14.0-01备份迁移
3.1 备份
1)将sonatype-work目录备份整体备份即可,可以选择只备份最重要的两个目录索引(indexer)和仓库(storage)
2)也可以备份conf db indexer storage目录,还原时覆盖即可
3.2 还原
1)还原版本也是nexus-2.14.0-01。目前我测试的是全备份 sonatype-work目录,并复制到新服务器目录下(这里的目录可以覆盖之前的也可以不覆盖,不覆盖需要更改配置文件中的路径)
2)更改配置文件中的路径
3)重启
如果启动报错请将/data/back-data/sonatype-work/nexus/ 目录下nexus.lock删除在启动。
./nexus stop
./nexus status
./nexus start