HarmonyOS - 手把手教你搭建Artifactory
source link: https://os.51cto.com/article/703896.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Artifactory简介
jfrog artifactory是一款二进制存储管理工具,用来管理构建工具(如:maven、gradle)等所依赖的二进制仓库,以方便管理第三方库和发布目标版本库,从而提高软件开发效率。它提供大量的插件以利于和不同工具之间的整合,内部使用权限管理更加安全,并支持高并发等等特性。
搭建Artifactory步骤:
检测你的jdk版本是否为1.8及以上(jdk安装步骤、环境变量的配置等 略)。
解压 artifactory_pro_and_crack.zip 文件(资源文件在文章末尾给出)。
执行 java -jar artifactory-injector-1.1.jar。
选择如下图中的 “2”。
输入artifactory home目录,选择"yes"。
选择"1",输出License,保存这个License后面要用,如下图所示:
另开一个新的命令提示符:
D:…\artifactory-pro-6.6.0\bin 执行artifactory.bat start命令,出现如下图所示结果:
此时你在浏览器中输入 http://localhost:8081/artifactory/ ,然后一定要耐心等待,刚开始服务没启动起来的时候可能无法显示此网页,但是等服务慢慢启动起来的话你刷新后就可以看到如下的loading动画了。
点击“Next”,粘贴第六步保存的License,如图:
继续点击“Next”,设置密码,如图:
继续点击“Next”,Create Repositories,选择maven,如图:
点击“Create”,显示如图:
点击“Finish”,展示如下:
点击“Log in ”,输入账号密码。
按照步骤1、2点击“New” New Local Repository设置Repository Key为“ohos_local”, 如下图:
按照步骤1、2点击“New” New Remote Repository。
1、设置Repository Key为:“huawei_cloud” URL:“https://repo.huaweicloud.com/repository/maven/ ”。
2、设置Repository Key为:“huawei_repo” URL:“https://developer.huawei.com/repo/ ”。
按照步骤1、2点击“New” New Virtual Repository,设置Repository Key为 “ohos-group”。
Repositories 选择上面创建的“ohos_local”、“huawei_cloud”、“huawei_repo”,如下图:
创建完毕。如图:
添加jfrog gradle依赖。
1、工程模块下build.gradle。
添加jfrog的gradle依赖,注意版本,不同版本的下文DSL写法不同,本文使用的jfrog gradle版本是4.15.2:
dependencies {
...
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.15.2"
}
2、module下的build.gradle。
在该module下的build.gradle文件中添加maven-publish和artifactory的插件,并且使用jfrog gradle的DSL语法添加相关配置,然后构建工程,代码如下,详解见注释:
...
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
...
//定义artifactory仓库的地址,按照你自己的修改
def MAVEN_LOCAL_PATH = 'http://localhost:8081/artifactory/'
//当其它项目远程依赖的时候,结构类型就是:implementation 'GROUP_ID:ARTIFACT_ID:VERSION_NAME '
def GROUP_ID = 'com.kaihong.example'
def ARTIFACT_ID = 'kaihong'
def VERSION_NAME = '1.0.0'
publishing {
publications {
har(MavenPublication) {//注意这里定义的 aar_pub,在artifactoryPublish 下需要使用
groupId = GROUP_ID
artifactId = ARTIFACT_ID
version = VERSION_NAME
// har文件所在的位置
// module打包后所在路径为module模块下的build/outputs/aar,生成的aar名称为:module名-release.aar
artifact("$buildDir/outputs/har/release/${project.getName()}-release.har")
}
}
}
artifactoryPublish {
contextUrl = MAVEN_LOCAL_PATH
publications ('har') //注意这里使用的是上面定义的 har
clientConfig.publisher.repoKey = 'ohos_local' //上传到的仓库地址
clientConfig.publisher.username = 'admin' //artifactory 登录的用户名
clientConfig.publisher.password = 'password123' //artifactory 登录的密码
}
打包并上传:
DevEco Studio 经过上述步骤之后,在右侧Gradle面板中找到template module,然后找到Tasks->other->releaseHarmonyHar,双击执行后即可在template module下的build/outputs/har/release文件夹下看到生成的har文件了。
然后我们在Gradle面板中,同样是template module下,找到Task->publishing->artifactoryPublish:
双击之后即可看到控制台中会不断的输出执行信息。
等待片刻后可以看到仓库中已经有了我们上传上来的har文件等:
注意:每次更新了hello module的代码想要重新生成的har文件时,需要先Clean Project,然后执行releaseHarmonyHar,然后再执行 artifactoryPublish,否则会无法上传。
其它项目使用:
其它项目使用的时候首先你应该配置了使用内网仓库的,那么此时可以直接在你需要使用har的模块,添加依赖即可,例如我们刚刚上传的har:
implementation 'com.kaihong.example:kaihong:1.0.0'
然后运行项目即可。
注意: 工程的build.gradle更改如下图所示:DevEco Studio 3.0 Beta2 版本需要添加 allowInsecureProtocol = true。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK