在heroku部署之后是否可以运行自动文本替换脚本?

时间:2015-02-21 05:17:40

标签: heroku

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

1 个答案:

答案 0 :(得分:0)

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

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

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

如果配置文件是文本文件,则必须先生成它。您可以通过创建放在app repo中的生成器脚本来实现这一目标。出于解释的目的,我们假设您的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}

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

您必须采用我的解决方案来使用您的网络应用语言,但总体思路是一样的。

我希望这对你有所帮助。

相关问题