1

HarmonyOS - 手把手教你搭建Artifactory

 2 years ago
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.
neoserver,ios ssh client

d2a598054b536793e548481eb1d3a7ec5c422b.png

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

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"。

6935d5f233de4e67981692109f0d1fb5cba0e9.png

选择"1",输出License,保存这个License后面要用,如下图所示:

c85e4dc528f9073e72e2952d0586baa76f9a0f.png

另开一个新的命令提示符:

D:…\artifactory-pro-6.6.0\bin 执行artifactory.bat start命令,出现如下图所示结果:

489ae9441a3421e7441894352847fbe9b8d3a3.png

此时你在浏览器中输入 http://localhost:8081/artifactory/ ,然后一定要耐心等待,刚开始服务没启动起来的时候可能无法显示此网页,但是等服务慢慢启动起来的话你刷新后就可以看到如下的loading动画了。

97b1da07623864d3467219f495dbd938904545.png

点击“Next”,粘贴第六步保存的License,如图:

e9cdb3835813c50886f8715803b9a9e925e928.png

继续点击“Next”,设置密码,如图:

a51a7194749060d1b153749246a42dc70a89e4.png

继续点击“Next”,Create Repositories,选择maven,如图:

d6db7960660241daa65076c2cc4cd67b9c8d21.png

点击“Create”,显示如图:

931b6d7132be6ef2ad7401815d3ff6228273ea.png

点击“Finish”,展示如下:

6781b064688a22fe47b39158dd6fa39b32ade4.png

点击“Log in ”,输入账号密码。

按照步骤1、2点击“New” New Local Repository设置Repository Key为“ohos_local”, 如下图:

c624e94479879840fe4925e7ebb6ddad3a8241.png

267ac9477d748277f360588bf8aab6cf53006f.png

按照步骤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/ ”。

194ce7a14771399212f057ebf0eb0c7287cdb6.png

e80732f03f11a25d04c9978c30237aa586c770.png

按照步骤1、2点击“New” New Virtual Repository,设置Repository Key为 “ohos-group”。

36590a753d80c1cd81a3517ee2843b7306f3e5.png

Repositories 选择上面创建的“ohos_local”、“huawei_cloud”、“huawei_repo”,如下图:

d87fd4807d74da29947588cad8f13d76e365a1.png

创建完毕。如图:

050773647e6cc90033042226fe3b8ab90b377c.png

添加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:

7317c3991982d9fca8022383c62fc6801860a6.png

双击之后即可看到控制台中会不断的输出执行信息。

等待片刻后可以看到仓库中已经有了我们上传上来的har文件等:

f335043465372a70414660186f506a328f5acb.png

注意:每次更新了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。

269fe1a3375218726f9690e8b705ba1fb0c487.png

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

73d215a83738f603ce1580ccc8f8dfacde578a.jpg


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK