Хранение паролей в исходниках
От: Neco  
Дата: 27.12.11 09:56
Оценка:
Сейчас плавно идём к общему доступу ко всем исходникам у всех девелоперов — так вроде бы независимые разработчики смогут подсматривать друг у друга код, а может быть даже и указывать друг другу на ошибки. Но вот пароли шарить между ними не хотелось бы (даже к development окружению).
Как это выглядит сейчас (по большей части):
— все исходники в TFS вместе с конфигами, в которых пароли на development базы данных
— во время паблиша, всё хозяйство (бинарники) кладётся в тестовую среду (с машины разработчика), пароли/координаты бд перебиваются
— после тестов бинарники ручками кладутся с тестового сервера в продакшн. конфиги либо не копируются, либо (если нет уверенности, что конфиг не изменился) копируются и перебиваются пароли/координаты бд

у кого были похожие трудности, как решали?
всю ночь не ем, весь день не сплю — устаю
Re: Хранение паролей в исходниках
От: elw00d Россия http://elwood.su
Дата: 27.12.11 12:16
Оценка:
Здравствуйте, Neco, Вы писали:

N>Сейчас плавно идём к общему доступу ко всем исходникам у всех девелоперов — так вроде бы независимые разработчики смогут подсматривать друг у друга код, а может быть даже и указывать друг другу на ошибки. Но вот пароли шарить между ними не хотелось бы (даже к development окружению).

N>Как это выглядит сейчас (по большей части):
N>- все исходники в TFS вместе с конфигами, в которых пароли на development базы данных
N>- во время паблиша, всё хозяйство (бинарники) кладётся в тестовую среду (с машины разработчика), пароли/координаты бд перебиваются
N>- после тестов бинарники ручками кладутся с тестового сервера в продакшн. конфиги либо не копируются, либо (если нет уверенности, что конфиг не изменился) копируются и перебиваются пароли/координаты бд

N>у кого были похожие трудности, как решали?


Если можно все такие вещи вынести в отдельные файлы, то имеет смысл сделать несколько наборов таких конфигов (в папочки их засунуть) и build task, запускающийся перед основным билдом, который бы брал эти конфиги и применял к текущему состоянию исходников. А сами конфиги в исходниках либо не коммитятся вообще, либо коммитится какой-нибудь из наборов (например тестовый на локальном окружении — как у вас сейчас). Папочки с наборами конфигов хранить в subrepositories, на которые выдавать права согласно регламенту. Не знаю только, можно ли в TFS настроить что-то такое.
Для prebuild таска в java можно использовать ant, в дотнете — MSBuild custom tasks.
Re: Хранение паролей в исходниках
От: revgen  
Дата: 27.12.11 17:29
Оценка:
Здравствуйте, Neco, Вы писали:

N>у кого были похожие трудности, как решали?


Сталкивался с такой проблемой, у нас у каждого разработчика своя база (бывает рабочая бывает тестовая и т.д.)
Решили так:
Каждый разработчик работает со своей базой (отличается не только адрес, но и тип БД).
Для этих целей был написан маленький конфиг: dev.config (в нем только описание работы с БД), все остальное из основного конфига.
В #if DEBUG $endif используется только этот конфигурационный файл для работы с БД, в релизе соответственно все берется с основного конфига.
Сам файл dev.config на TFS лежит только шаблонный, и комитить никому нельзя его.
Проблем все решились таким образом.
Остается одна только проблема: в TFS не нашел ignore in commit, такое было в subversion. Поэтому перед Check In-ом необходимо снимать флаг с файла dev.config иначе ругатся на права будет.
Думаю если надо можно многое так поделить, не только описание БД.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.