欢迎来到天天文库
浏览记录
ID:8817666
大小:4.76 MB
页数:9页
时间:2018-04-08
《使用nexus搭建maven私有仓库》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、使用Nexus搭建maven私有仓库 前言 什么是maven、gradle Maven是一个项目管理和自动构建工具。 Gradle是一个基于ApacheAnt和ApacheMaven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。 为什么搭建maven私有仓库 做java开发的童鞋对Maven一定不陌生;做android开发的童鞋,用得最多的是gradle。其实gradle的第三方库,也是放在maven仓库上。 对于第三方库,大家基
2、本都配置maven、gradle从远程获取,估计很少直接下载jar放在工程里(对于没有放在mavenrepository上的库,只能这么干)。这么做方便管理依赖。 app开发中遇到问题 做app开发,特别是只有几万行代码量的小项目,开发团队也就几个人,通常只用一个工程玩耍。随着业务扩展,工程变得越来越大,代码量大大增加,开发人数也多了,问题开始暴漏:改动一个地方往往影响到其他人的代码,功能模块耦合严重,构建速度慢.... 业界一些解决方法:1.组件化,按功能拆分出各种组件,数据存储、网络层、日
3、志等;2.拆分业务,一个业务一个module;3.业务插件化,一个业务一个工程,每个业务独立编译并运行..... 因此,引入依赖管理是必不可少的。把各个模块单独编译,部署上maven仓库,主工程or业务工程通过maven、gradle引用这些依赖。这么做还有好处,就是持续集成!某个模块修改了,跑单元测试,通过后才放上仓库。业务工程同步一下maven,万一有问题,还可以在服务端回滚到上一个版本。 (笔者对持续集成怕有误,关于持续集成可以参考这篇文章《谈谈持续集成,持续交付,持续部署之间的区别》)
4、 单独编译、单独部署 灵活管理依赖 便于持续集成 搭建 安装JavaEnvirment 由于Nexus不支持OpenJDK,所以必须卸装OpenJDK并安装OracleJava。参考如何在UbuntuLinux上安装OracleJava(可能要翻墙) 下载NexusRepositoryOSS 笔者系统环境是ubuntu16.04(在windows上vmware虚拟),所以下载了Unixnexus-3.0.1版本。例如下载到$HOME下,然后解压压缩包: $tarxvzfnexus-3
5、.0.1-01-unix.tar.gz 启动Nexus 进入nexus根目录下的bin: cd./nexus-3.0.1-01/bin 运行Nexus: sudo./nexusrun 运行成功后,会出现 StartedSonatypeNexusOSS3.0.1-01 访问nexusUI界面 在ubuntu打开浏览器,输入http://localhost:8081/: 当然,只要知道ubuntu虚拟机内网ip,也可以在windows通过内网ip访问nexus 配置为LinuxSe
6、rvice 配置$NEXUS_HOME为nexus绝对路径,编辑.bashrc文件: gedit.bashrc 在文件末尾加入: NEXUS_HOME="/home/{user}/nexus-3.0.1-01"" 编辑bin/nexus.rc: run_as_user="nexus" 在/etc/init.d放nexus软连接 sudoln-s$NEXUS_HOME/bin/nexus/etc/init.d/nexus 运行服务 update-rc.d. cd/etc/init
7、.d sudoupdate-rc.dnexusdefaults sudoservicenexusstart 官网有chkconfig、update-rc.d、systemd三种方式,笔者选择最简单的update-rc.d。 (开启ubuntu第一次执行start,可能要等上几十秒才能启动) 用户操作界面 登陆 假设ubuntuip地址是192.168.86.130,浏览http://192.168.86.130:8081/打开用户界面(前面已提到)。点击右上角Signin登陆,默认账号
8、admin,密码admin123 登陆后: 创建用户 在配置页面,选择Security-User,点击createuser: 填写用户信息,再点击最底下的createuser即可创建用户 userinfo 创建xiaoming用户后,可以Signout,用xiaoming账号登陆了。 创建maven仓库 在配置界面,选择Repository-repositories,图中红色选线框着的是默认仓库。点击createrepository reposito
此文档下载收益归作者所有