Как следует поместить секретные файлы в приложение EC2 Ruby on Rails, используя веб-службы amazon с их эластичным бобовым стеблем?
Я добавляю файлы в репозиторий git, и я нажимаю на github, но хочу сохранить свои секретные файлы из репозитория git. Я использую aws, используя:
git aws.push
В .gitignore:
находятся следующие файлы:/config/database.yml
/config/initializers/omniauth.rb
/config/initializers/secret_token.rb
Следуя этой ссылке, я попытался добавить S3 файл в мое развертывание: http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/customize-containers.html
Цитата из этой ссылки:
Пример фрагмента
Следующий пример загружает zip файл из ведра Amazon S3 и распаковывает его в файл /etc/myapp:
sources: /etc/myapp: http://s3.amazonaws.com/mybucket/myobject
Следуя этим указаниям, я загрузил файл в ведро S3 и добавил следующее в файл private.config в каталоге .ebextensions:
sources:
/var/app/current/: https://s3.amazonaws.com/mybucket/config.tar.gz
Этот файл config.tar.gz будет извлекаться в:
/config/database.yml
/config/initializers/omniauth.rb
/config/initializers/secret_token.rb
Однако, когда приложение развертывается, файл config.tar.gz на хосте S3 никогда не копируется и не извлекается. Я все еще получаю ошибки, которые невозможно найти в базе данных .yml, и в журнале EC2 нет записи конфигурационного файла, вот сообщение об ошибке:
Error message:
No such file or directory - /var/app/current/config/database.yml
Exception class:
Errno::ENOENT
Application root:
/var/app/current