Среда разработки с vagrant + chef/puppet/salt: как работать с пользовательскими учетными данными (например, github)?
Я хочу создать среду разработки с vagrant и друзьями, чтобы упростить процесс адаптации новых разработчиков. Нашел уже несколько удивительных уроков.
Чего я не понимаю, так это как справляться с конкретными вещами пользователя. Например, в настройках Chef (или Puppet или Salt) я хочу оформить заказ на репозитории (из github). Поскольку они являются частными, мне нужно знать учетные данные пользователей. То же самое касается npm login
и предположительно другие вещи.
Какие существуют подходы для работы с пользовательскими логинами?
1 ответ
Одна из расширяемых точек в реализации марионеток vagrant - это возможность вводить пользовательские факты в цикл марионеток. См. Раздел "Пользовательские факты" в документах Vagrantfile Puppet Apply.
Это оставляет вопрос о том, как передать эти факты в Vagrantfile. Одним из способов является создание файла (yaml, json и т. Д.) В каталоге вашего проекта, который включает в себя пользовательские настройки и считывает его в Vagrantfile (в конце концов, это просто ruby). Убедитесь, что вы добавили пользовательский файл настроек в список игнорируемых элементов управления исходным кодом. Я никогда не пробовал этот плагин, но Nugrant выглядит так, как будто это многое делает.
Вышеуказанное имеет неприятный побочный эффект, так как ваши пароли хранятся на жестком диске в том месте, где кто-либо в команде знает, что искать. Если это неприемлемо, вы можете также заставить Vagrant запрашивать у пользователя пароли в командной строке и использовать введенное значение. Не требует хранения паролей на вашем хост-компьютере, но требует повторного ввода их каждый раз, когда вы используете vagrant.