У меня есть приложение node.js с файлом настроек, который должен быть в репо, когда я нажимаю на Heroku, но я хотел бы поделиться своим проектом на github без моих API-ключей, секретов сеанса и т. Д.

Я знаю, что могу добавить файл в .gitignore, но тогда он не отправится в Heroku.

В противном случае я вручную копировал файлы из одного репо в другое всякий раз, когда вношу изменения.

Есть ли способ лучше.

Я посмотрел на этот вопрос, заданный и ответил два года назад, но предупреждение о «большая дисциплина» заставила меня немного бояться решения ветвления, поэтому я подумал, что спрошу, изменилось ли что-нибудь.

Кроме того, я бы хотел избежать использования метода environment variables, упомянутого в этом ответе, если это вообще возможно, потому что некоторые ключи API, вероятно, изменятся несколько раз в процессе разработки (от личных ключей разработчика до корпоративных ключей) , а также секрет сеанса, пароли базы данных и т. д. ("1234" работает, пока он сломан на локальном хосте, но я, вероятно, сделаю что-то более длительное, но все же запоминающееся в бета-версии, и в конечном итоге заменю все свои токены случайными хешами )

Я также проверил этот вопрос, но похоже, что принятый ответ не работает, и я не решался попробовать его с моим ключом API

1
Jason Nichols 18 Дек 2013 в 07:34

2 ответа

Лучший ответ

Для этого вам нужно использовать переменные окружения, их точное назначение состоит в том, что они могут легко отличаться на Heroku от вашего локального компьютера.

heroku config перечисляет переменные окружения, доступные из ваших дино, и это именно то место, где должны быть ключи API.

1
kurtisnelson 18 Дек 2013 в 07:05

Heroku разработан с использованием переменных среды для настройки, поэтому попытки избежать этого, вероятно, будут бесполезны. См. Обоснование по этой ссылке: http://12factor.net/config

0
bheeshmar 18 Дек 2013 в 23:18