Jenkins Artifactory插件(gradle)不';无法从gradle.properties读取版本

Jenkins Artifactory插件(gradle)不';无法从gradle.properties读取版本,jenkins,gradle,continuous-integration,artifactory,Jenkins,Gradle,Continuous Integration,Artifactory,目前我尝试配置Jenkins,这样我就可以自动进行发布构建。它应该将版本号从快照更改为发布版本,并执行所有SVN提交操作。完成此操作后,它应该将其切换回新的快照版本并提交。在我从maven切换到gradle之前,相同的插件工作正常 我已经创建了一个gradle构建,可以正常工作。它正在从gradle.properties文件中的属性“version”读取版本。此版本是gradle版本中使用的版本。还可以运行“artifactoryPublish”将JAR发布到我的artifactory 问题:

目前我尝试配置Jenkins,这样我就可以自动进行发布构建。它应该将版本号从快照更改为发布版本,并执行所有SVN提交操作。完成此操作后,它应该将其切换回新的快照版本并提交。在我从maven切换到gradle之前,相同的插件工作正常

我已经创建了一个gradle构建,可以正常工作。它正在从gradle.properties文件中的属性“version”读取版本。此版本是gradle版本中使用的版本。还可以运行“artifactoryPublish”将JAR发布到我的artifactory

问题:

当我打开对话框“Artifactory Pro Release Staging”()时,它没有填充“Release version”、“Next development version”字段,也没有填充任何其他字段。如果我手动填充字段,则一切正常。此外,gradle.properties中的版本也已更改并正确签入

我怎样才能解决这个问题

已用版本:

  • 詹金斯版本2.7.1
  • JFrog Artifactory 4.7.4版本40169(免费版)
  • Jenkins Artifactory插件2.6.0()
  • 格拉德尔2.14.1

谢谢

在我看来,您的gradle.properties似乎无法通过SVN与其他文件一起提交。你能检查一下这个吗

如果在Jenkins执行构建作业时它已提交并且有效地与所有其他源文件一起出现,那么确保Jenkins构建作业在正确的位置查找gradle.properties文件可能是值得的。Gradle插件的默认行为是在每个项目的根目录下搜索Gradle.properties文件。如果gradle.properties文件不在该位置,则可能需要手动设置路径。为此,请在Jenkins作业的“开关”下添加以下内容:

-Dgradle.user.home=$HOME/.gradle

请告诉我这是否有帮助。

根据您的描述,当您访问“Artifactory Release Staging”页面时,“Release version”和“Next development version”字段为空。这可能是因为您没有在Jenkins作业配置中定义版本和下一个开发版本的属性名称。 以下是您的操作方法: 1.打开gradle.properties文件并找到版本属性的名称。例如,如果gradle.properties包含: 版本=1.2-快照 那么名称就是“版本”。 2.打开Jenkins作业配置,并将“version”放在“Release属性”和“Next development property”文本字段中。您应该在“Release Staging”配置下找到它们

现在,artifactoryreleasestaging页面应该知道从何处获取您的版本。在Maven中使用artifactoryreleasetging时,不需要此配置,因为在Maven中,只能在pom文件中的一个位置找到该版本


希望这有帮助

在阅读属性时,可能由于以下原因发生这种情况

  • 文件权限-检查gradle.properties所在工作空间中的文件组和所有者 2.(细节不确定,帮助我解决)更新正确的文件所有者组后,从jenkins artifactory release management部分删除了version属性并触发了构建,一旦成功并将版本包含在jenkins artifactory release management部分并触发了构建,就解决了问题

  • 你有没有考虑过在Jenkins Artifactory插件上打开一个bug?当我手动填充“Artifactory Pro Release Staging”对话框时,它可以工作,并且它正在执行文档中解释的所有操作(-在构建开始之前使用发布值更改gradle.properties),触发gradle构建步骤(可选地使用不同的任务和选项),提交/推送对标记的更改(Subversion)或者发布分支(Git),使用下一个集成值更改gradle.properties(提交/将更改推送到主干)。在我这样做之后,我检查了gradle.properties,它包含了新版本(我手动设置了表单)。您是否尝试在Jenkins作业中手动设置插件的位置?是的,我添加了开关(),但这不会改变行为。我可以确认artifactory Jenkins插件(2.8.2)希望gradle.properties位于jenkins工作区根目录中,以便填充这些字段。似乎没有配置告诉它去别处看,也没有从jenkins gradle插件中提取。找到一种方法将它放在你的工作区根目录中。我就是这样做的。在这里你可以看到我的设置。我认为这应该是正确的,因为新版本(在“Artifactory Pro Release Staging”中手动设置)对话框被正确写入gradle.properties in version=MY_by_hand_SET_version.:-/一次问题是,对话框没有预先填充对话框。