Развертывание на Heroku с чувствительной информацией об установке

Я использую GitHub для кода и Heroku для платформы развертывания для моего приложения для направляющих.

Я не хочу иметь уязвимые данные при Мерзавце. Такие данные включают настройки файла базы данных (database.yml) и некоторые другие файлы, которые имеют секретные ключи API.

Когда я развертываюсь к heroku, как я могу иметь дело с файлами, которые не являются объектом управления версиями.

Когда я использую Capistrano, я могу записать некоторые методы рычага, но я не знаю, что сделать с Heroku.

10
задан TK. 3 June 2010 в 06:49
поделиться

2 ответа

Для Heroku вам понадобится database.yml в Git, потому что Heroku автоматически прочитает его и создаст из него конфигурацию PostgreSQL.

Для другой конфиденциальной информации, такой как ключи API, Heroku предоставляет конфигурационные переменные , которые фактически являются переменными среды. Вы можете добавить их, используя:

heroku config:add KEY=value

- и получить к ним доступ из вашего приложения, используя:

ENV['KEY']

Обратите внимание, что переменные конфигурации могут быть перечислены, добавлены и удалены с помощью программы командной строки heroku , которая после установки они настойчивы.

20
ответ дан 3 December 2019 в 17:19
поделиться

Я бы создал локальную ветвь, назовем ее СЕКРЕТНО, и внесу в нее «секретные» модификации. Зафиксируйте их и НЕ отправляйте на github.

Теперь просто оформите заказ и продолжайте работать над основной веткой, пока она не будет готова к выпуску.

Чтобы подготовить проверку релиза ветки SECRET, слейте с ней основную ветвь и отправьте ее в heroku, как обычно.

(Кстати: я всегда забываю переключиться обратно на рабочую ветку, git stash - ваш друг в этом случае)

3
ответ дан 3 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: