1.https://www.jfrog.com/open-source/下载jfrog的服务端的maven管理软件,我的是windows的环境,就下载了zip包,你们可以根据自己的电脑系统下载对应的版本,下载完成,打开artfactory.bat,这样就启动了jfrog的服务端软件了,如下图所示:
2.上面启动的时候,会启动terminal,当我们看到如下面的语句的时候,我们可以在浏览器中输入http://127.0.0.1:8081/artifactory/查看服务是否启动成功。
3.对于刚刚启动的jfrog服务端的话,都是没有repo的,所以我们第一步需要create repo:
创建的时候,会让我们输入repo key,这个key我们后面会用到的。
4.现在我们服务端都准备好了,那么对于要上传,肯定需要有上传的文件,所以首先要生成aar,我们可以在根目录下面增加
dependencies {
//jfrog上传
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:latest.release"
}
在自己模块的build.gradle中引用这个插件:apply plugin: 'com.jfrog.artifactory'
5.这样在对应的module执行assemble会在模块的根目录下面的build/outputs/aar生成对应的编译类型的aar包。
6.生成的aar包,怎么上传到对应的服务端的仓库当中?
答:在模块的build.gradle中再增加
apply plugin: 'com.jfrog.artifactory' //这个在3的操作中已经加上去了
apply plugin: 'maven-publish'
def MAVEN_LOCAL_PATH = JFROG_SCHEME_HOST_ARTIFACTORY
def ARTIFACT_ID = "simplelinechart"
def VERSION_NAME = '0.0.4'
def GROUP_ID = project.getName()
publishing {//这段语句,是生成pom文件的task
publications {
pom_create(MavenPublication) {
groupId GROUP_ID
version = VERSION_NAME
artifactId ARTIFACT_ID
// 这里获得aar 生成的位置和上传
artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
}
}
}
artifactory {//上传aar和pom的task
contextUrl = MAVEN_LOCAL_PATH
publish {
repository {
// The Artifactory repository key to publish to
repoKey = 'libs-repo'
username = JFROG_USERNAME
password = JFROG_PASSWORD
maven = true
}
defaults {
// 这里的 pom_create指向上面 publishing/publications/pom_create
publications('pom_create')
}
}
}
这样我们先通过gradle的task中执行下面的命令,
命令生成pom文件,在build/outputs/publications/mavenAar,这样会在,然后通过上面的artifactoryPublish进行上传到服务端就可以了。
7.结果图:
8.还有一点就是我们在项目的根目录build.gradle中的allprojects方法中添加maven私服的路径,这样我们的包就能成功下载了,只需要在引用该包的时候,添加compile就可以了。
allprojects {
repositories {
...
maven {
url JFROG_SCHEME_HOST_ARTIFACTORY
}
}
}