如何使用Jenkins Gradle插件将系统属性传递给Gradle?

9
我有一个Gradle任务,使用curl将一些东西部署到Bintray。
为了使其正常工作,它需要我的Bintray API密钥。我不想在构建脚本(或属性文件)中放置它,因为所有这些东西都是公开的,存储在GitHub上。
相反,我让任务使用一个名为bintrayApikey的属性,在调用Gradle时提供。当我使用以下命令在本地运行时:
gradlew pushToBintray -DbintrayApikey=<my api key>

一切都按照预期运作。

接下来的步骤是让这个应用在我的Cloudbees Jenkins上工作。由于似乎没有专门放置系统属性的特殊位置,我只是将它们添加到了任务中,但这似乎并不起作用。在控制台中,我可以看到它成功地访问了Bintray,但最终以以下信息结束:

This resource requires authentication 

那我该如何在我的Jenkins作业配置中提供属性值呢?

1个回答

12

请使用-Pmyprop代替-Dmyprop

Gradle Jenkins插件接受-P参数。

-D是用于Java参数。


5
谢谢,那个方法起作用了!你能否给一些提示,为什么它有效,或者特别是为什么在本地使用“-D”可以,但在Jenkins上不行? - Jens Schauder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接