Jenkins Artifactory插件(gradle)无法从gradle.properties

时间:2016-08-19 10:16:43

标签: jenkins gradle continuous-integration artifactory

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

我已经创建了一个正常运行的gradle构建。它正在阅读该物业的版本"版本"在gradle.properties文件中。此版本是gradle构建中使用的版本。它也可以运行&artifact; artifactoryPublish"将JAR发布到我的神器中。

问题:

当我打开对话框" Artifactory Pro Release Staging" (http://imgur.com/T44BtQB)它没有填写字段"发布版本","下一个开发版本",而没有填写任何其他字段。如果我手工填写字段,一切正常。同样,gradle.properties中的版本也会更改并正确检查。

我怎么能解决这个问题?

使用的版本:

谢谢!

3 个答案:

答案 0 :(得分:0)

我看到它的方式,似乎你的gradle.properties无法与SVN的其余文件一起提交。你能检查一下吗?

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

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

如果有帮助,请告诉我。

答案 1 :(得分:0)

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

现在,Artifactory Release Staging页面应该知道从哪里获取您的版本。使用Artifactory Release Staging for Maven时不需要此配置,因为在Maven中,只能在一个地方找到版本 - 在pom文件中。

希望这有帮助

答案 2 :(得分:0)

可能是由于以下原因,而在读取属性时发生的

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