树莓派搭建Nexus2私服
使用树莓派搭建Nexus2私服需要的材料有:
- 树莓派3B+(或者4B)
- 移动硬盘一个
1. 下载nexus2.x安装包
由于nexus2.x官方的启动环境并不支持arm架构的树莓派,所以这里采用tomcat7 + nexus2.x的方式搭建私服。
下载 nexus-2.14.17-01-bundle.tar.gz
下载 apache-tomcat-7.0.104.tar.gz
2. 移除nexus2.x不必要的插件
将下载的nexus-2.14.17-01-bundle.tar.gz
解压后,会有如下几个目录:
bin # nexus各种操作系统的启动脚本,这里并不支持arm架构
nexus # nexus主应用,使用tomcat + nexus,只需要这部分
logs
lib
conf
...
用tomcat7来跑nexus,只需要nexus这个目录中的东西,但是由于树莓派的内存有限,所以这里移除了nexus中没有用到的插件,比如ldap,nuget,yum等。
下面是我们用不到的插件(这个具体根据自己的需要调整),插件的位置在/nexus/WEN-INF/plugin-repository
这个目录中。
nexus-analytics-plugin-2.14.17-01
nexus-archetype-plugin-2.14.17-01
nexus-atlas-plugin-2.14.17-01
nexus-capabilities-plugin-2.14.17-01
nexus-crypto-plugin-2.14.17-01
nexus-groovy-plugin-2.14.17-01
nexus-h2-plugin-2.14.17-01
nexus-iq-repository-oss-plugin-2.14.17-01
nexus-kazuki-plugin-2.14.17-01
nexus-ldap-realm-plugin-2.14.17-01
nexus-logging-plugin-2.14.17-01
nexus-lvo-plugin-2.14.17-01
nexus-migrationagent-plugin-2.14.17-01
nexus-nuget-plugin-2.14.17-01
nexus-outreach-plugin-2.14.17-01
nexus-rrb-plugin-2.14.17-01
nexus-ruby-plugin-2.14.17-01
nexus-rutauth-plugin-2.14.17-01
nexus-siesta-plugin-2.14.17-01
nexus-site-repository-plugin-2.14.17-01
nexus-timeline-plugin-2.14.17-01
nexus-wonderland-plugin-2.14.17-01
nexus-yum-repository-plugin-2.14.17-01
3. 修改nexus的工作目录
默认情况下nexus的工作目录为${user.home}/sonatype-work/nexus
,由于硬盘是挂载在树莓派的/mnt/Disk
目录中,所以这里需要调整一下nexus的工作目录。
修改/nexus/WEB-INF/classes/plexus.properties
中的nexus-work
配置:
nexus-work=/mnt/Dist/nexus2/sonatype-work/nexus
runtime=${bundleBasedir}
nexus-app=${runtime}
4. 将nexus部署到tomcat中
可以把nexus当做一个普通的java web项目即可,由于资源有限,这里将tomcat默认的项目统统删除掉,即删除tomcat/webapps
中的所有目录。
然后将nexus这个目录放到/tomcat/webapps
目录下即可,启动tomcat。
cd bin
./startup.sh
5. nexus2.x的storage目录
nexus2.x跟nexus3.x有很大的区别,在存储上nexus2.x采用的是目录结构,而nexus3.x使用的是ElasticSearch,这也是为什么我选用nexus2.x而不是最新的nexus3.x的原因,树莓派的资源根本跑不起ElasticSearch。
下面是nexus2启动后会创建的目录:
backup
conf
db
felix-cache
health-check
indexer
iq
logs
nexus.lock
nuget
orient
plugin-repository
storage
timeline
这里,只需要关注storage这个目录即可,因为私服的所有依赖都存放在这个目录下面,下面是storage的目录结构:
apache-snapshots
central # 仓库迁移位置
central-m1
npm_all
npmjs_my
npmjs_central
public # 依赖发布
releases
snapshots
thirdparty
6. 上传已有的依赖(或依赖迁移)
正常情况下,在我们搭建nexus2.x私服之前,我们本地都会有一个maven本地仓库,我们可以将本地的maven仓库中的依赖FTP传到nexus中。
- 将依赖工作目录的
storage/central
中。 - 登录nexus2.x的管理界面,在 Repositories-> central 中右键 reindex 一次。
这样当我们拉取依赖的时候,central已经有的依赖就不用再到maven中央仓库去拉取了,没有的情况下nexus2才先到maven中央仓库拉取。
当然,如果是私服迁移的话,只需将源私服的storage下面的仓库备份到新私服上,执行reindex即可,这比nexus3.x的迁移好方便好多。
关注公众号,阅读更多关于nexus2.x的文章。(如:nexus搭建npm仓库,nexus权限管理,maven仓库的使用等将持续更新...)
树莓派搭建Nexus2私服的更多相关文章
- 用nexus搭建maven私服
首先介绍一下背景,公司访问外网有限制,项目组大部分人员不能访问maven的central repository,因此在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上 环 ...
- 搭建Maven私服
最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...
- Maven学习 (四) 使用Nexus搭建Maven私服
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...
- Maven-004-使用 Nexus 搭建 maven 私服
从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...
- Maven学习总结(九)——使用Nexus搭建Maven私服
一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建n ...
- Ubuntu server下搭建Maven私服Nexus
Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...
- Linux_Centos中搭建nexus私服
1.在Linux下搭建Nexus私服 1).下载并且解压 下载 nexus-2.11.2-03-bundle.zip unzip nexus-2.11.2-03-bundle.z ...
- Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服
1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...
- Maven——使用Nexus搭建Maven私服
原文:http://www.cnblogs.com/xdp-gacl/p/4068967.html Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要 ...
随机推荐
- Charles(青花瓷/花瓶)的基本使用
前言 Charles 其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.其次该软件是用 Java 写的,能够在 Windows,Mac,Linux 上使用. ...
- 阿里云高级技术专家空见: CDN的数据化之路
想要实现优质高速的互联网视频服务,一定离不开高质量的内容分发网络服务,就是我们常说的CDN,在10月13日云栖大会视频多媒体分论坛上,阿里云高级技术专家空见为大家讲解了CDN服务过程中,数据处理.安全 ...
- php开发环境和框架phalcon的搭建
0x01 在ubuntu 12.04 上安装lnmp环境. 安装nginx (Centos install nginx repo wget http://www.atomicorp.com/ins ...
- Spring-AOP之工作实践(一)
案例一.角色校验 项目中,对某些方法需要用户具备指定角色权限才能执行. /** * 角色校验注解 */ @Retention(RetentionPolicy.RUNTIME) @Target(Elem ...
- 重学 Java 设计模式:实战外观模式「基于SpringBoot开发门面模式中间件,统一控制接口白名单场景」
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 你感受到的容易,一定有人为你承担不容易 这句话更像是描述生活的,许许多多的磕磕绊绊总 ...
- RabbitMQ是什么
1.引入MQ 1.1什么是MQ MQ(Message Quene):翻译为 消息队列,通过典型的 生产者 和 消费者 模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息.因为消息的 ...
- @atcoder - AGC034F@ RNG and XOR
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个值域在 [0, 2^N) 的随机数生成器,给定参数 A[ ...
- excel 如何制作带下拉框的动态折线图表
首先我们需要有个类似下图产品销量的基础数据表. 首先将光标放入表格中任意位置,然后插入一个不带点标记的折线图,然后将折线的颜色设置为灰色. 第一次设置成灰色后,一定善用f4快捷键进行快速的折线颜色设置 ...
- winxp系统连接服务器丢包解决方法
winxp系统连接服务器丢包解决方法 MFC编写一个打开网页的程序,发生异常没有获取到数据. 分析步骤: 1. 用getLastError()获取到的信息,(2)- 系统找不到指定的文件. 2. 用浏 ...
- cb10a_c++_顺序容器的操作3关系运算符
cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...