【问题标题】:Is it possible to run automated text-replacement script after heroku deployment?部署heroku后是否可以运行自动文本替换脚本?
【发布时间】:2015-02-21 05:17:40
【问题描述】:

目前,我有一个带有配置文件的网络应用程序。配置文件具有变量的全局声明,例如domain_nameredis_url 等。但是,当用户在他们的 Heroku 帐户上部署应用程序时,他们必须手动更改这些设置以匹配他们的环境。是否可以让 heroku 运行一个部署后脚本,用 heroku 属性替换这些设置?

【问题讨论】:

    标签: heroku


    【解决方案1】:

    起点是Heroku Environment Variables,您的应用可能已经在使用它。如果没有,那么我强烈建议这样做。

    然后我看到两个选项,具体取决于配置文件类型:

    如果配置文件是脚本文件,可以直接读取环境变量,问题就解决了。

    如果配置文件是文本文件,则必须先生成。您可以通过创建放入应用程序存储库中的生成器脚本来实现这一点。出于解释的目的,我们假设您的 Web 应用程序是基于 Python 的。您可以创建文件 bin/generate_config.py 并将其添加到 repo。然后在这个生成器中,您从系统中读取变量并创建文本配置文件。 接下来您需要做的就是修改您的Procfile。让我们假设它看起来像这样:

    web: python manage.py runserver 0.0.0.0:${PORT}

    您需要将其更改为:

    web: python bin/generate_config.py & python manage.py runserver 0.0.0.0:${PORT}

    它将首先生成配置文件,然后启动您的应用程序。

    您必须对您的网络应用语言采用我的解决方案,但总体思路是相同的。

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-05-13
      • 2020-12-21
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      相关资源
      最近更新 更多