Подход, который Лекс Ли перечисляет в комментариях, является рекомендуемым Microsoft способом защиты «секретов» в конвейерах.
Ответ Бен Смита, на мой взгляд, такой же хороший, возможно, немного менее безопасный.
Я использую этот подход в нашей организации. Все наши конвейеры выпуска выполняют окончательное преобразование конфигурации с соответствующими настройками в зависимости от среды, в которой они развернуты.
т.е. соединения дБ преобразуются на этапах разработки, тестирования, UAT и производства.
Я храню соответствующие секреты в переменных конвейера как защищенные секреты. Я делаю это по двум причинам:
- Только определенное количество доверенных сотрудников имеют доступ к определениям конвейера выпуска.
- Даже если кто-то имеет доступ к этим определениям - вы не сможете увидеть защищенную переменную. Даже если вы «открутите замок» на вкладке «Переменная» - вы не сможете увидеть, что это за настройка.
Наши действительные секреты затем хранятся в нашем секретном хранилище предприятия.
Использование хранилища ключей Azure, безусловно, хороший подход. Однако у нас уже есть централизованное место для хранения наших вещей;Я не хочу, чтобы это было в трех местах.
Было бы упущением не включать группы переменных в процесс конвейера. Та же концепция, что и для переменных сборки / выпуска - разница в том, что теперь вы можете поделиться ими в одном месте.
Это все мнения, конечно. Это только один из способов сделать это;Я считаю, что это довольно хороший баланс безопасности и гибкости.