【问题标题】:Where to put credentials in gradle在哪里放置凭证在 gradle
【发布时间】:2019-10-07 17:54:26
【问题描述】:

我可以在哪里将我的凭据放在 gradle 中而不公开它们? 我想知道一些最佳实践,并了解将它们插入 gradle.properties 或作为环境变量之间的区别。 知道如何在构建脚本中调用它们对我来说也很重要。

提前致谢

【问题讨论】:

    标签: gradle kotlin groovy build.gradle gradle-kotlin-dsl


    【解决方案1】:

    如果您想在本地拥有凭据,可以将凭据放在 local.properties 中。您可以像这样检索它们:

    Properties properties = new Properties()
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    def local = properties.getProperty('localVar')
    

    并且在 local.properties 中有局部变量:

    localVar=helloWorld
    

    最好的做法是把它放在一个环境变量中,这样你就可以在任何地方运行你的 gradle 脚本,即使是在 CI 环境中。

    在 build.gradle 中可以使用

    获取环境变量
    System.getenv("ENVIRONMENT_VARIABLE")
    

    【讨论】:

    • 我会选择环境变量,因为其他方法还不清楚。事实上,如果我把 gradle.properties.kts 放在 users/me/.gradle 我不能在构建中调用变量,我不知道错误在哪里
    • 很多人使用 Kotlin DSL。但是这里的属性文件仍然称为 gradle.properties,就像在 Groovy 中一样 - 即不带有 .kts 扩展名。原因是它不是 Kotlin 文件(实际上是 Java 属性文件)。
    猜你喜欢
    • 2018-08-16
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2012-01-23
    • 2016-05-08
    • 2017-10-31
    相关资源
    最近更新 更多