当前位置: 首页 > 知识库问答 >
问题:

如何在gradle构建脚本中读取artifactory的工件属性

焦兴为
2023-03-14

我有两个jenkins作业,第一个作业向artifactory发布一个jar文件,并向工件添加一个属性(提交id)。第二个作业总是从artifactory中提取最新版本的jar,但它还需要与该工件关联的属性。我们正在使用gradle进行构建。有没有办法进入gradle或者我们有其他选择吗?

编辑:作业不是管道的一部分。这意味着它们是独立的作业,第二个作业触发另一个存储库更改。

共有2个答案

景同
2023-03-14

您可以使用Artifactory客户端(Java)来获取工件属性
例如:

Artifactory artifactory = ArtifactoryClient.create("http://localhost:8081/artifactory", "username", "password");
ItemHandle item = artifactory.repository("RepoName").file("path/to/file.jar");
List<String> values = item.getPropertyValues("commitId");

有关客户端的更多信息,请参阅其GitHub页面。

梅欣然
2023-03-14

第一个 jenkins 作业触发第二个参数化构建。

第二个构建可以通过两种方式之一触发 gradle,即使用 Invoke Gradle 脚本或通过命令行。

如果您正在使用< code >调用Gradle脚本功能,那么您将选中< code >将作业参数作为Gradle属性传递。然后,假设构建二的参数名为< code>commitId,您可以像这样在代码中引用它

if (project.properties.containsKey('commitId')) {
    println "do something with commitId: ${project.properties.get('commitId')}"
}

如果您只是使用命令行脚本,那么您可以传递这样的属性

./gradlew clean build -PcommitId=${commitId}

获取build.gradle中的属性的任何一种方式都是相同的

 类似资料:
  • 目前,我尝试配置Jenkins,这样我就可以自动进行发布构建。它应该将版本号从快照更改为发布版本,并执行所有SVN提交操作。完成后,它应该将其切换回新的快照版本并提交。在我从maven切换到gradle之前,相同的插件工作正常。 我已经创建了一个gradle构建,可以正常工作。它正在从gradle中的属性“version”读取版本。属性文件。此版本是gradle版本中使用的版本。还可以运行“art

  • 我正在处理一个Gradle脚本,其中我需要读取文件,并使用中属性文件中的值。我是以下面的方式做的。我运行了下面的脚本,它现在抛出了一个错误,但它也没有执行创建、删除和复制文件之类的操作。我试着打印变量的值,它显示了正确的值。 有人能告诉我这是不是正确的方法吗?我认为另一种方法是在中定义所有内容,并在中使用。有人能告诉我如何从中访问中的属性吗? 文件: 文件:

  • 问题内容: 我正在使用Gradle脚本工作,需要在其中读取文件并使用中的属性文件中的值。我以下面的方式来做。我运行了以下脚本,它现在引发错误,但是它也没有执行创建,删除和复制文件的操作。我试图打印变量的值,它显示正确的值。 有人可以让我知道这是否是正确的方法吗?我认为另一种方法是在中定义所有内容并在中使用它。有人可以让我知道如何从中访问属性吗? 文件: 文件: 问题答案: 如果使用默认文件,则可以

  • 问题内容: 我正在尝试使用称为Gradle工具的Jenkins Pipeline将人工制品推到Artifactory。 我正在关注在GitHub上发布的示例: 例1 例2 我的詹金斯管道脚本: 我的Gradle文件非常轻巧,我只是使用插件Gradle Release Plugin 执行Gradle发布。 执行管道时,它失败并显示以下消息: 当我在服务器上检查时,没有这样的文件/tmp/genera

  • 我正在使用 Jenkins-Artifactory 插件将 jar 文件部署到 Artifactory 中的存储库。正在使用的构建工具是渐变的。该过程似乎没有维护 jar 工件的多个带时间戳的版本。 存储库使用“gradle-default”布局。Maven快照版本行为已被设置为“唯一”。最大唯一快照数设置为30。 我正在使用rtUpload和rtPublishBuildInfo将jar和相应的b

  • 主要内容:Gradle如何使用Groovy,Groovy的JDK方法,以下是纠正/补充内容:Gradle构建脚本文件用来处理两件事情:一个是项目和另一个的任务。每个生成表示一个或多个项目。一个项目表示一个JAR库或Web应用程序,也可能表示由其他项目产生的JAR文件组装的ZIP。简单地说,一个项目是由不同的任务组成。一个任务是指构建执行的一块工作。任务可能是编译一些类,创建一个,产生的或发布一些归档文件库。 注:Gradle使用Groovy语言编写脚本。 Gradle提供了一个域特定语言