【问题标题】:Read heroku environment variables from gradle build script从 gradle 构建脚本中读取 heroku 环境变量
【发布时间】:2016-12-23 18:28:02
【问题描述】:

我的构建脚本必须有一个部分:

flyway {
    url = System.getenv('JDBC_DATABASE_URL')
    user = System.getenv('JDBC_DATABASE_USERNAME')
    password = System.getenv('JDBC_DATABASE_PASSWORD')
}

问题是当我运行时这些环境变量是可见的

heroku run printenv --remote staging | grep JDBC

它们在定义了 stage 任务的 gradle 构建脚本中为空。

这是什么原因?如何解决这个问题?

【问题讨论】:

    标签: heroku gradle environment


    【解决方案1】:

    这些变量在部署期间似乎不可用,但您可以改为从环境变量 DATABASE_URL 中获取数据。

    robert_difalco 在https://stackoverflow.com/a/27988242 中展示了一个示例:

        URI dbUri = new URI(System.getenv("DATABASE_URL"));
    
        String username = dbUri.getUserInfo().split(":")[0];
        String password = dbUri.getUserInfo().split(":")[1];
        int port = dbUri.getPort();
    
        String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ":" + port + dbUri.getPath();
    

    【讨论】:

    • 请直接在您的答案中插入相关示例。链接可能会损坏,因此这是 SO 的一般建议。
    猜你喜欢
    • 1970-01-01
    • 2019-07-16
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    相关资源
    最近更新 更多