GitOPEN's Home.

VPS上部署maven私服

Word count: 1,214 / Reading time: 5 min
2018/04/01 Share

前言

“明明我挂了梯子,可gradle build还是卡住不动,过会儿就干脆error了”,小明如是说。Android Studio的gradle下载依赖过慢是广大Android程序员的痛点。于是有很多公司都构建了内网的Nexus Repository Manager OSS私服,来解决痛点,缩短该司程序员等待的闲暇时间,提高压榨的效率。但是,对于各位码神来说,离开公司还是要做独立项目的,于是痛点又回来。将maven部署在自己的VPS,彻底解决gradle各种慢,供自己享用,随时随地无痛码起来,不枉码神的名号。

其实过程很简单

  1. 首先,有自己的vps,最好在境外,哦不,是必须在境外(没有篱笆的地方),例如,万恶的米国🇺🇸。我的vps用的是vultr,相信各位都有所耳闻,于是,我恬不知耻地邀请你点击我的连接注册购买,这样,你可以得到10💵的优惠。相信我,如果你能在vultr上开到144开头的ip,速度和稳定性一定不会让你失望

  2. 其次,就是安装过程,听我娓娓道来。如果你是新手,请自行Google一下如何用ssh连接到VPS,然后继续。

  3. 配置jdk环境:

    下载jdk

    1
    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

    1
    tar -zxvf jdk-8u162-linux-x64.tar.gz

    创建/usr/local/java文件夹

    1
    mkdir -p /usr/local/java

    移动jdk到创建的文件夹

    1
    mv jdk1.8.0_162 /usr/local/java

    设置环境变量,vim /etc/profile填入以下内容

    1
    2
    3
    4
    5
    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

    生效环境变量

    1
    source /etc/profile
  4. 安装Nexus Repository Manager OSS

    下载 Nexus Repository Manager OSS

    1
    wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/oss/nexus-2.14.8-01-bundle.tar.gz

    解压nexus

    1
    wget nexus-2.14.8-01-bundle.tar.gz

    创建/usr/local/nexus文件夹

    1
    mkdir -p /usr/local/nexus

    移动nexus到创建的文件夹

    1
    mv nexus-2.14.8-01 /usr/local/nexus

    修改配置,先cd /usr/local/nexus/nexus-2.14.8-01,然后vim bin/nexus,在NEXUS_HOME=".."上面一行,加入以下内容

    1
    RUN_AS_USER=root

    启动nexus

    1
    ./bin/nexus start

    访问nexus,默认登录账户名admin,默认密码admin123xxx.xxx.xxx.xxx是vps的ip地址

    1
    http://xxx.xxx.xxx.xxx:8081/nexus/

  5. 设置Nexus Repository Manager OSS

    登录后的界面预览,进入用户管理

    nexus-1

    重新设置admin密码

    nexus-2

    禁用匿名账户,防止全网可用,节省vps流量和空间

    nexus-3

    同样的方法,禁用development账户,或者修改密码
    进入Repositories,这是我新建的三个proxy repositories,设置方法往后看

    nexus-4

    点击Add...,选择Proxy Repositories,按照图中的信息设置googlerepositories

    nexus-5

    nexus-6

    同样的方法,新建和设置Jcenterjitpack

    nexus-7

    nexus-8

    新建一个Repositories Group ,并设置信息,如图所示

    nexus-9

    nexus-10

    到这里,设置就完毕了。

  6. 在Android Studio中使用的时候,maven url地址为

    1
    http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/

    具体使用,在项目根目录下的build.gradle中添加maven url,格式如下

    1
    2
    3
    4
    5
    6
    maven {
    url 'http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/'
    credentials {
    username 'admin'
    password 'admin123'
    }

    整个build.gradle看起来是这个样子

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    // 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。

优惠链接:

Digital Ocean优惠链接

vultr优惠10美元链接


欣慰帮到你 一杯热咖啡
【奋斗的Coder!】企鹅群
【奋斗的Coder】公众号
CATALOG
  1. 1. 前言
  2. 2. 其实过程很简单
  3. 3. 再次邀请您