gradle 配置 nexus repository

1.安装nexus

链接:http://www.sonatype.org/nexus/go

安装过程:


1.mac :

   1).解压文件进入bin/

   2).   ./nexus start 可以直接运行,注意有个点

2.windows

   1).进入nexus目录,在bin/jsw 下找到nexus.exe

   2).nexus.exe / install安装成系统服务

   3).nexus.exe / start直接运行

   4).nexus.exe / stop停止

   5).nexus.exe / uninstall卸载

3.ubuntu

http://www.jianshu.com/p/9740778b154f

2.创建repository

1).浏览器中http://127.0.0.1:8081/ 默认网址可以进入管理界面

2).内置账户 admin admin123

gradle 配置 nexus repository_第1张图片

3)点击左上螺丝,进入 设置界面,默认内置了一些库


gradle 配置 nexus repository_第2张图片

4).点击 create repository 

普及一下这几种类型的区别:

hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。

proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库,一些需要翻墙的lib可以使用这种,具体请找其他文章研究

group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。

gradle 配置 nexus repository_第3张图片

5).配置仓库

名称可以修改,其他的配置没有具体了解

gradle 配置 nexus repository_第4张图片

6)点击create repository之后就创建成功了,会自动跳转到repository列表界面,点击条目的copy按钮,就可以获取仓库路径了


gradle 配置 nexus repository_第5张图片


3.在gradle中配置repository地址与账号


不详细说明  maven_push.gradle

apply plugin:'maven'

apply plugin:'signing'

configurations {

deployerJars

}


repositories {

mavenCentral()

}

// 判断版本是Release or Snapshots

def isRelease() {

return!VERSION.contains("SNAPSHOT");

}

// 获取仓库url

def getRepositoryUrl() {

returnisRelease() ? RELEASE_URL : SNAPSHOT_URL;

}

uploadArchives {

repositories {

mavenDeployer {

beforeDeployment {

MavenDeployment deployment -> signing.signPom(deployment)

}

pom.version = VERSION

pom.artifactId = ARTIFACT_ID

pom.groupId = GROUP_ID

repository(url: getRepositoryUrl()) {

authentication(userName: NAME,password: PASSWORD)// maven授权信息

}

}

}

}

// 进行数字签名

signing {

// 当 发布版本 & 存在"uploadArchives"任务时,才执行

required { isRelease() && gradle.taskGraph.hasTask("uploadArchives") }

sign configurations.archives

}



在build.gradle 中引用maven_push.gradle

applyfrom:'maven_push.gradle'


gradle.properties中配置账号与仓库链接

#VERSION=1.0-SNAPSHOT 快照库

#VERSION=1.0  release库

#GROUP_ID=com.baidu.homework 文件夹名称

#ARTIFACT_ID=test  文件名称

VERSION=1.1-SNAPSHOT

GROUP_ID=com.baidu.homework

ARTIFACT_ID=lesson

RELEASE_URL=http://localhost:8081/repository/homework_release/

SNAPSHOT_URL=http://localhost:8081/repository/homework/

NAME=admin

PASSWORD=admin123


最后在task中,点击uploadArchives上传


上传之后的使用方法

项目的gradle中配置内部maven库路径

allprojects {

repositories {

jcenter()

maven { url"http://localhost:8081/repository/homework/"}

//        maven { url "http://localhost:8081/repository/homework_release/" }

}

}

compile'com.baidu.homework:lesson:1.1-SNAPSHOT@aar'

你可能感兴趣的:(gradle 配置 nexus repository)