Android Team Leader必备技能:利用Nexus搭

2017-03-19  本文已影响244人  daking

概述

Nexus安装

  1. Nexus依赖JDK1.8+,确保设备上已安装配置JDK1.8+的开发环境。

  2. Nexus官网,找到Nexus Repository Manager 3并下载。

  3. 解压到任意目录下,在终端中移动到该目录,再进入到nexus-<version>/bin下。执行./nexus run

  4. 服务起来后,默认端口为8081。在浏览器上输入http://127.0.0.1:8081/即可访问到Nexus。

    Nexus首页

Nexus使用

首次进入Nexus

创建用户

  1. 进入创建用户的界面。

    进入创建用户界面的步骤-w417
  2. 填写用户资料并提交即可。注意以下几点:

    ID和Password关系到Gradle的打包上传,要牢记。

    Status设为Active。

    Roles是角色权限控制,可选值有nx-adminnx-anonymous,可多选。

创建仓库

  1. 进入创建仓库界面。

    进入创建仓库界面的步骤-w411
  2. Recipe的选择:

    hosted:本地仓库,用于部署个人或团队的公共构件。

    proxy:代理仓库,用于代理远程仓库,如maven中央仓库。

    group:仓库组,用来合并多个hosted/proxy仓库。

  3. 填写仓库资料并提交。注意以下几点:

    Name是仓库名,是该仓库的唯一标识,常用反向域名来书写,如tech.daking。

  4. 创建成功后,可在仓库列表界面看到新仓库,且可复制其URL。

    仓库列表界面-w1229 复制仓库URL-w475

上传和使用aar

上传aar

buildscript {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
    ...
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
}
apply plugin: "maven"

def nexusUrl = 'http://127.0.0.1:8081/repository/tech.daking/' // 仓库URL
def nexusUsername = 'Nexus账号'
def nexusPassword = 'Nexus密码'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: nexusUrl) {
                authentication(userName: nexusUsername, password: nexusPassword)
            }
            pom.project {
                packaging "aar" // 打包成aar
                groupId "tech.daking.android" // 组织名
                artifactId project.name // 库名
                version "1.0.0" // 版本号
            }
        }
    }
}

使用aar

buildscript {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
    ...
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
}
dependencies {
    // 格式为:"${group}:${artifactId}:${version}",即组织名:库名:版本号。
    compile "tech.daking.android:zxing-android:1.0.0"
}

我的博客

上一篇 下一篇

猜你喜欢

热点阅读