В одном из моих последних проектов я начал с .gitignoring среды [environment/production.rb/development.rb/test.rb] и т.д. Таким образом, весь проект передается в репо, за исключением файлов, содержащих секреты и API_Keys, таких как Stripe, Twitter API, FB Graph API или инициализаторы /secret _token.rb в другом месте.
Теперь я нахожусь в точке, где проект будет жить (взволнован!), и мне нужно ввести все среды_вариайи и секреты на производственный сервер, когда cap production deploy.
В случае инициализаторов /secret _token.rb ясно, что Rails 4.1 имеет новый механизм использования secrets.yml файла, чтобы вывести значение: secret_key_base в производственный сервер. Здесь я рекомендую использовать capistrano-secrets-yml драгоценный камень, который прост в использовании, работает прямо из коробки.
Остается способ переноса на рабочий сервер других секретов, таких как API_KEYS, APP_ID и т.д., не проверяя их в репо. Как это сделать, что является наиболее рекомендуемым/безопасным способом или наилучшей практикой?
ПРИМЕЧАНИЕ. Я буду редактировать вопрос по мере его продвижения/я получаю больше ясности.
EDIT1: Сервер - это VPS Ubuntu/Linux на DigitalOcean. [Ответ на Denise ниже].
EDIT2: Может ли env_variables/secrets переноситься на сервер через secrets.yml? Secret_token для сеансов - это не единственный секрет! [Отвечено на Edit3]
EDIT3: Да! Это можно отправить в API_keys через secrets.yml в соответствии с этим blog. Поделитесь своими выводами когда-нибудь.: -)