我应该把 gradle.properties 放在詹金斯的哪里

Posted

技术标签:

【中文标题】我应该把 gradle.properties 放在詹金斯的哪里【英文标题】:Where should I put gradle.properties in Jenkins 【发布时间】:2013-04-16 16:26:02 【问题描述】:

我应该将 gradle.properties 文件放在 Jenkins 的什么位置?

我使用的是 1.21 版的 Gradle 插件,但是当我将它放在用户主目录 .gradle 目录中时,它没有找到属性文件。

任何指针将不胜感激。

谢谢

更新

Gradle 插件默认在每个项目的工作区中查找 gradle.properties 文件。为了在所有作业中使用一个文件,您需要在作业配置中按如下方式设置您的 gradle home,方法是在“开关”下添加以下内容:

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

【问题讨论】:

可能在主文件夹 jenkins 中? 您确定将gradle.properties 放入正确的 Gradle 用户主页吗?我不认为 Jenkins 插件参与找到它。 【参考方案1】:

Gradle 插件默认在每个项目的工作区中查找 gradle.properties 文件。为了在所有作业中使用一个文件,您需要在作业配置中按如下方式设置您的 gradle home,方法是在“开关”下添加以下内容:

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

【讨论】:

+1 来自我!但是,我使用具有不同用户主目录的不同节点,因此我将其配置为 -Dgradle.user.home=$GRADLE_USER_HOME 并使用值 'C:\Users\\.gradle' 定义环境变量在每个节点的配置中。希望对和我有类似情况的人有所帮助。【参考方案2】:

在您的 Jenkins 网页中,您可以在“系统信息”页面中看到“user.home”属性。 (对于slve,请查看slave的“系统信息”页面) 您将 gradle.properties 放在 'user.home'/.gradle/ 文件夹下,每个 gradle 作业都可以看到该属性。 如果您的作业在其他从属环境(即 Windows 系统)上运行,则无法添加开关

【讨论】:

这为我们的多配置项目节省了时间。这对 windows 和 linux 执行相同的构建【参考方案3】:

除了@devmojopum 的回答,请确保在您的作业配置中未选中“强制 GRADLE_USER_HOME 使用工作空间”。

【讨论】:

【参考方案4】:

我不同意赞成的答案。这仅适用于单工作区环境。如果您使用多个项目,则有多个要发布到的关系环境,并且还想要例如詹金斯不要搞砸了,那么你应该阅读

https://docs.gradle.org/current/userguide/build_environment.html

如何链接 gradle 属性。

Gradle 项目属性可以存放在单独的文件夹中,并复制到工作场所根目录,后者添加到 .gitignore, 这样每个人都可以配置自己的密码和设置。

这也鼓励在 Jenkins 中使用 FORCE 标志。

【讨论】:

【参考方案5】:

只需将 gradle.properties 放在 build.gradle 旁边即可。

问候, 偶来

【讨论】:

以上是关于我应该把 gradle.properties 放在詹金斯的哪里的主要内容,如果未能解决你的问题,请参考以下文章

gradle使用技巧

经验丨Android开发最佳实践

是否有可能有一个远程 gradle.properties 文件

NativeScript:我如何在平台文件夹之外保留自定义 gradle.properties?

在 gradle.properties 文件中声明数组/哈希图

Gradle 签名的配置文件 gradle.properties