Чтобы достичь того, что вы пытаетесь сделать с Heroku, вам нужно сделать это немного по-другому. Вы можете использовать файл конфигурации, который проверяется в репо, но не сохраняйте ни один из ваших ключей в конфиге. Обратитесь к переменным окружения, чтобы предоставить фактические значения для использования на основе этой среды. (локальный/постановка/производство) Затем вы устанавливаете свои env vars локально так же, как и на Heroku. В каждой среде все одинаково, что вам нужно. Вот краткий пример:
staging: {
env: 'staging',
root: rootPath,
app: {
name: appname,
assets_path: '/build/dist',
main: packageJSON.main
},
port: process.env.PORT,
db: {
MONGODB_URI: process.env.MONGODB_URI
},
redis: {
REDIS_URL: process.env.REDIS_URL
},
logs: {
LE_TOKEN: process.env.LE_TOKEN
},
auth: {
CLIENT_ID: process.env.AUTH0_CLIENT_ID,
CLIENT_SECRET: process.env.AUTH0_CLIENT_SECRET,
DOMAIN: process.env.AUTH0_DOMAIN,
CALLBACK: process.env.AUTH0_CALLBACK_URL,
TOKEN: process.env.AUTH0_TOKEN
},
google: {
MAPS_KEY: process.env.GOOGLE_MAPS_KEY
}
}
Спасибо, Натан! Я определенно собираюсь попробовать это в следующий раз, когда я развожу проект в Хероку. Это было очень быстрое решение для развертывания приложения Rails, но затем я попробовал приложение Django, и это было скорее головной болью. Не уверен, когда у меня будет еще один шанс отвести его. – wogsland