使用Artifactory 6。x ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog技术支持
概述
Artifactory提供了与Gradle的紧密集成。所需要的只是对你的build.gradle
带有几个配置参数的脚本文件。
Gradle既支持新旧发布机制,也支持旧的发布机制Gradle Artifactory Plugin取决于您正在使用的版本,这些在文档页面中有详细说明。
无论您是使用CI服务器运行构建,还是运行独立构建,都可以使用Gradle Artifactory Plugin。无论哪种情况,你都应该注意以下几点:
- CI服务器集成
当在持续集成服务器上运行Gradle构建时,我们建议使用Artifactory Plugins中的一个詹金斯,TeamCity或竹子.
您可以使用构建服务器UI通过Artifactory配置解析和发布工件,以捕获详尽的构建信息。 - 独立的集成
Gradle Artifactory插件提供了一个简单的DSL,可以在Gradle构建中执行以下步骤:- 从Artifactory定义默认的依赖解析。
- 定义在完整(多模块)成功构建后将工件发布到Artifactory的配置。
- 定义应该附加到Artifactory元数据中发布的工件的属性。
- 捕获并发布build-info对象到Artifactory构建信息REST API,以提供完全可跟踪的构建上下文。
源代码可用!
这个Gradle Artifactory Plugin是一个GitHub上的开源项目你可以自由浏览和分叉。
以下部分描述了主要的配置步骤并提供了一个示例Gradle脚本,它显示了开始使用Gradle与Artifactory所需的信息。
配置工件解析
使用Gradle构建脚本生成器
与ArtifactoryGradle构建脚本生成器,你可以很容易地创建一个Gradle初始化脚本来处理解析。
在工件存储库浏览器的工件模块,选择帮我介绍一下。在帮我介绍对话框中,设置Gradle在工具字段,然后单击“生成Gradle设置”。现在你可以为Gradle指定你想要配置的设置了。
插件/ Libs解析器 |
应该用来解析插件/库的存储库 |
使用Maven/ Ivy |
选中时,指定应该使用Maven/Ivy模式进行解析 |
填词的出版商 |
应该用于发布库的存储库 |
使用Maven/ Ivy |
选中时,指定应该使用Maven/Ivy描述符发布该库 |
仓库布局 |
指定相应存储库的布局 |
一旦你为Gradle配置好了设置,你就可以点击“生成设置”来生成并保存build.gradle和gradle.properties
文件。
为用户提供动态设置
Artifactory允许您为用户部署和提供动态设置模板。下载后,将根据您自己的逻辑生成设置,并可以自动包含用户身份验证信息。
详情请参阅预置构建工具设置下节过滤后的资源2022世界杯阿根廷预选赛赛程.
示例构建脚本和属性
您可以从JFrog下载样例脚本GitHub公共存储库.
运行它
为了让Gradle构建你的项目并将生成的工件上传到Artifactory,你需要运行以下命令:
gradle artifactoryPublish
有关使用Gradle构建项目的更多详细信息,请参考Gradle文档.
从Gradle获取调试信息
我们强烈建议运行Gradle- d
选项,以便在构建出错时获得有用且可读的信息。
依赖声明片段
Artifactory可以为您提供依赖声明代码片段,您可以简单地将其复制到Gradle依赖声明你的部分build.gradle
文件。
在工件存储库浏览器的工件模块中,向下钻取存储库树并选择一个相关的工件。下依赖声明部分中,选择Gradle来显示相应的依赖声明,您可以将其复制到build.gradle
文件。
优化Gradle构建
从V3.5开始,Gradle引入了一个构建缓存特性,允许您重用其他构建生成的输出,而不是重新构建它们,从而大大缩短了构建时间。该特性不仅支持本地文件系统缓存,还支持可以在整个组织中共享的远程缓存。
Gradle团队测量了一个平均值减少25%总的构建时间,甚至在他们的一些提交中减少了80% !
优化Gradle构建:
- 配置Artifactory作为Gradle构建缓存
- 配置它使用Artifactory中的构建缓存
配置Artifactory
Artifactory可以用作Gradle构建缓存,只需创建一个通用存储库在Artifactory。
例如:a简单用例其中CI服务器构建一个项目,并将构建缓存存储在Artifactory中,以供以后的构建使用。这将极大地改善本地开发人员环境中的构建时间。
配置它
配置Gradle使用构建缓存,并将其指向Artifactory。
gradle.properties
Artifactory_user =admin artifactory_password=password artifactory_url=http://localhost:8081/artifactory org.gradle。缓存= true gradle.cache.push = false
settings.gradle
设置gradle.cache.pus在CI服务器上,通过使用-Pgradle.cache.push = true.
包含"shared", "api", "services:webservice" ext.isPush = getProperty('gradle.cache.push') buildCache {local {enabled = false} remote(HttpBuildCache) {url = "${artifactory_url}/gradle-cache-example/" credentials {username = "${artifactory_user}" password = "${artifactory_password}"} push = isPush}}
跨站点复制
您也可以使用Artifactory作为分布式缓存使用推拉式存储库复制在本地和远程团队之间同步,并改善本地和远程构建时间。