最近发现gradle在使用过程中,由于功夫墙的原因更新略慢,所以就折腾在自己的服务器上部署下私有仓库代理,首先在私有仓库中查找是否已经有依赖包,如果没有再重远程中央仓库中去下载到本地,这样的好处就是可以减少对于中央仓库的依赖,减轻中央仓库压力。由于我的服务器直连国外,所以从中央仓库中去下载的速度也是很快的,基本上可以满足团队开发。
一.首先给CentOS安装JDK
1.查看CentOS自带JDK是否已安装,输入:
yum list installed |grep java
一般来说,如果是新装CentOS系统的话,不会有JDK,如果有的话,就执行相关卸载操作,大概会是这样的:
openjdk
yum -y remove java-1.7.0-openjdk*
tzdata-java
yum -y remove tzdata-java.noarch
一般会有卸载完毕提示。
2.开始安装oracle jdk
查看yum库中的Java安装包
yum -y list java*
会出现一堆列表,然后翻看下最新的jdk版本号,我安装的是1.8.0,将java-1.8.0相关的都安装上:
yum -y install java-1.7.0-openjdk*
3.查看刚安装的Java版本信息,输入:
java -version
至此,jdk已经安装完毕了。
二.安装Sonatype Nexus
Sonatype Nexus是现在比较流行和成熟的私有仓库搭建工具,透过nexus可以很轻松的搭建私有仓库,而且搭建起来也非常容易。
1.下载nexus,进入http://www.sonatype.org/nexus/archived/页面,选择一个最新的压缩包,下载到服务器:
wget http://download.sonatype.com/nexus/oss/nexus-2.11.1-01-bundle.tar.gz
2.解压
tar zxvf nexus-2.11.1-01-bundle.tar.gz
3.移动到其他目录
mv nexus-2.1.2 /usr/loal/nexus
4.设置为系统自启动服务
cd /etc/init.d/
cp /usr/local/nexus/bin/jsw/linux-x86-32/nexus nexus
5.编辑/etc/init.d/nexus文件,添加以下变量定义:
NEXUS_HOME=/usr/local/nexus
PLATFORM=linux-x86-32
PLATFORM_DIR="${NEXUS_HOME}/bin/jsw/${PLATFORM}"
修改以下变量:
WRAPPER_CMD="${PLATFORM_DIR}/wrapper"
WRAPPER_CONF="${PLATFORM_DIR}/../conf/wrapper.conf"
PIDDIR="${NEXUS_HOME}"
修改如下变量,设置启动用户为root:
RUN_AS_USER=root
6.执行命令添加nexus自启动服务
chkconfig –add nexus
chkconfig –levels 345 nexus on
7.执行如下命令启动、停止nexus服务
service nexus start
service nexus stop
至此,nexus安装完毕
三.验证和配置Nexus
nexus安装完成以后,一般在路径: http://sever_ip:8081/nexus/ 打开以后会出现配置管理页面,说明安装成功了。点击右上角“Log in”,输入用户名和密码(默认用户名:admin密码:admin123)登录。
nexus里面有很多功能,对于我来说只需要用到 proxy 这个功能,主要是代理远程中央仓库,并缓存数据到私有仓库,具体配置过程也很简单,就不多赘述了,由于我安装过程中没有截图,所以只能去截个已经安装好的图
好了,放大招了,贡献上我的jcenter镜像:http://jcenter.chengyong.net
---- 2016.08.17 update -----
由于服务器扛不住了,只能停掉了jcenter,有需要的可以使用:
开源中国:http://maven.oschina.net/content/groups/public/
ibiblio:http://mirrors.ibiblio.org/maven2/
jboss:http://repository.jboss.org/nexus/content/groups/public/
maven2:http://repo2.maven.org/maven2/
:http://jcenter.chengyong.net现在貌似不可用了
服务器到期,停止解析了。
请教服务器怎么设置https地址?
我去,我的nexus代理jcenter死活更新不了index,不知道什么问题,其他库的代理我也配过的都没问题的,无奈之下只能代理你的nexus。。。哥们靠你了,你的nexus别死啊
[...]搭建nexus其实很简单.教程在此.[...]
[...]当然你也可以自己假设一个仓库.教程在此,我在腾讯云上面试了下,速度很快.[...]