每个 Heroku 环境的不同文件

Different files per Heroku environment

我在 Heroku 上有两个非常相似的独立应用程序,因此它们共享相同的主代码库。它们各自被设置为不同的环境。它们仅在少数环境变量的值上有所不同。这一切都很好,因为可以为每个环境设置环境变量。

但是除了环境变量之外,还有一个文件需要在两个环境之间有所不同。此文件需要命名相同,但内容必须不同。

如何在一个环境中部署一个文件而在另一个环境中部署不同的文件?

如果不知道它是什么类型的文件以及您使用的是什么语言,则很难回答这个问题。

一种通用的方法是将两个文件都放在代码库中,例如 sample_file_env_1.txtsample_file_env_2.txt,然后在您的 Procfile 或应用程序启动脚本中,调用另一个脚本来复制根据设置的环境变量将该文件复制到您期望的位置。

虽然我更喜欢 Navin 的更笼统的回答,但我恰好在使用 Express 并通过在获取请求时提供正确的文件来解决问题:

app.get("/MyFile", (req, res) => {
    // Serve a different file based on the environment variable
    res.redirect(process.env.ACTUAL_FILE_PATH)
})