Я новичок в рельсах, с открытым исходным кодом и скоро готов к развертыванию в производственной среде. У меня есть некоторые соображения по поводу безопасности.
Как работать с database.yml, довольно хорошо, how-to-manage-rails-database-yml
Но, с моей точки зрения, в обычном приложении rails больше настроек конфигурации, которые не следует размещать в общедоступном репозитории github и развертывать в рабочей среде, например,
- devise.rb -> config.pepper
- secret_token.rb -> Application.config.secret_token
- capistrano -> deploy.rb
- ...
Добавление config / **** / * в .gitignore не только не позволит новым разработчикам установить пакет, db: create, db: migrate, rails server , но и сохранить производственную конфигурацию до дата, если установлен новый гем с инициализатором.
Другой возможностью было бы добавить environment.yml с конфиденциальной конфигурацией, например, database.yml, где конфиденциальная конфигурация в инициализаторах будет переопределена?
Это позволит легко приступить к работе после чистой проверки, а производственную среду будет легко поддерживать.
Есть идеи, как подойти к моим проблемам выше?