一、前言
“明明我挂了梯子,可gradle build还是卡住不动,过会儿就干脆error了”,小明如是说。Android Studio的gradle下载依赖过慢是广大Android程序员的痛点
。于是有很多公司都构建了内网的Nexus Repository Manager OSS
私服,来解决痛点
,缩短该司程序员等待的闲暇时间,提高压榨的效率。但是,对于各位码神来说,离开公司还是要做独立项目的,于是痛点
又回来。将maven部署在自己的VPS,彻底解决gradle各种慢,供自己享用,随时随地无痛码起来,不枉码神的名号。
二、其实过程很简单
-
首先,有自己的vps,最好在境外,哦不,是必须在境外(没有篱笆的地方),例如,万恶的米国🇺🇸。我的vps用的是vultr,相信各位都有所耳闻,于是,我恬不知耻地邀请你点击我的连接注册购买,这样,你可以得到10💵的优惠。相信我,如果你能在vultr上开到
144
开头的ip,速度和稳定性一定不会让你失望。 -
其次,就是安装过程,听我娓娓道来。如果你是新手,请自行Google一下
如何用ssh连接到VPS
,然后继续。 -
配置jdk环境:
- 下载jdk
wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-linux-x64.tar.gz
- 解压jdk
tar -zxvf jdk-8u162-linux-x64.tar.gz
- 创建
/usr/local/java
文件夹
mkdir -p /usr/local/java
- 移动jdk到创建的文件夹
mv jdk1.8.0_162 /usr/local/java
- 设置环境变量,
vim /etc/profile
填入以下内容
JAVA_HOME=/usr/local/java/jdk1.8.0_162 JRE_HOME=/usr/local/java/jdk1.8.0_162/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH
- 生效环境变量
source /etc/profile
-
安装
Nexus Repository Manager OSS
- 下载 Nexus Repository Manager OSS
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/oss/nexus-2.14.8-01-bundle.tar.gz
- 解压nexus
wget nexus-2.14.8-01-bundle.tar.gz
- 创建
/usr/local/nexus
文件夹
mkdir -p /usr/local/nexus
- 移动nexus到创建的文件夹
mv nexus-2.14.8-01 /usr/local/nexus
- 修改配置,先
cd /usr/local/nexus/nexus-2.14.8-01
,然后vim bin/nexus
,在NEXUS_HOME=".."
上面一行,加入以下内容
RUN_AS_USER=root
- 启动nexus
./bin/nexus start
- 访问nexus,默认登录账户名
admin
,默认密码admin123
。xxx.xxx.xxx.xxx
是vps的ip地址
http://xxx.xxx.xxx.xxx:8081/nexus/
-
设置
Nexus Repository Manager OSS
-
登录后的界面预览,进入用户管理
nexus-1.jpg -
重新设置admin密码
-
- 禁用
匿名账户
,防止全网可用,节省vps流量和空间
- 同样的方法,禁用
development
账户,或者修改密码 - 进入
Repositories
,这是我新建的三个proxy repositories
,设置方法往后看
- 点击
Add...
,选择Proxy Repositories
,按照图中的信息设置google
repositories
nexus-6.jpg
- 同样的方法,新建和设置
Jcenter
和jitpack
nexus-8.jpg
- 新建一个
Repositories Group
,并设置信息,如图所示
nexus-10.jpg
- 到这里,设置就完毕了。
-
在Android Studio中使用的时候,
maven url
地址为http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/
- 具体使用,在项目根目录下的
build.gradle
中添加maven url,格式如下
maven { url 'http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/' credentials { username 'admin' password 'admin123' }
- 整个
build.gradle
看起来是这个样子
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { maven { url 'http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/' credentials { // 此处为nexus users中设置的有权限的账户,例如你的admin账户和密码 // 修改为自己的账户和密码 username 'admin' password 'admin123' } } // google() // jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' } } allprojects { repositories { maven { url 'http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/' credentials { username 'admin' password 'admin123' } } // google() // jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
- 现在,我们就解决掉
痛点
了。gradle在构建的时候,我们的nexus私服中没有的依赖,将由私服自动到仓库中去拉取,并保存到私服中,于是,我们的gradle下载依赖再也不会被蔷了,相当于给gradle部署了一个跳板。
- 具体使用,在项目根目录下的
三、再次邀请您
在总结了长期使用VPS的经验后,我向您隆重推荐两家VPS服务商,vultr和Digital Ocean。这两家的服务非常友好,用我的连接注册并购买,可以得到💲10的免费使用额度。
使用经验:vultr建议,多开几个,截止本稿发布为止,144段非常稳定流畅;DO家的建议用sfo或者new york,速度和稳定性很好。观看油管可4k,下载油管可跑满带宽,我100MB联通,能下载8MB/s。
优惠链接:
如果你在购买后,有问题需要我帮忙,私信我,看到即回。
网友评论