Я использую GitHub для кода и Heroku для платформы развертывания для моего приложения для направляющих.
Я не хочу иметь уязвимые данные при Мерзавце. Такие данные включают настройки файла базы данных (database.yml) и некоторые другие файлы, которые имеют секретные ключи API.
Когда я развертываюсь к heroku, как я могу иметь дело с файлами, которые не являются объектом управления версиями.
Когда я использую Capistrano, я могу записать некоторые методы рычага, но я не знаю, что сделать с Heroku.
Для Heroku вам понадобится database.yml
в Git, потому что Heroku автоматически прочитает его и создаст из него конфигурацию PostgreSQL.
Для другой конфиденциальной информации, такой как ключи API, Heroku предоставляет конфигурационные переменные , которые фактически являются переменными среды. Вы можете добавить их, используя:
heroku config:add KEY=value
- и получить к ним доступ из вашего приложения, используя:
ENV['KEY']
Обратите внимание, что переменные конфигурации могут быть перечислены, добавлены и удалены с помощью программы командной строки heroku
, которая после установки они настойчивы.
Я бы создал локальную ветвь, назовем ее СЕКРЕТНО, и внесу в нее «секретные» модификации. Зафиксируйте их и НЕ отправляйте на github.
Теперь просто оформите заказ и продолжайте работать над основной веткой, пока она не будет готова к выпуску.
Чтобы подготовить проверку релиза ветки SECRET, слейте с ней основную ветвь и отправьте ее в heroku, как обычно.
(Кстати: я всегда забываю переключиться обратно на рабочую ветку, git stash - ваш друг в этом случае)