Моя команда использует TeamCity для непрерывной интеграции. Он будет создавать, тестировать и развертывать веб-приложения через Web Deploy для веб-серверов dev и qa. Сложная часть заключается в развертывании на рабочем веб-сервере - наша политика гласит, что разработчики не могут развертывать на производстве, только системный администратор может.
Наш текущий подход заключается в том, чтобы TeamCity создала пакет веб-развертывания, который администратор может загрузить и установить на рабочем веб-сервере. Тем не менее, мы хотели бы позволить им просто нажать «Выполнить» в конфигурации сборки, но мы не уверены, как защитить эту кнопку.
Мы могли бы создать проект TeamCity, к которому имеют доступ только администраторы, но мы также должны обратиться к безопасности Web Deploy. Служба Web Deploy должна проходить проверку подлинности с локальной учетной записью администратора на рабочем сервере. Мы не хотим, чтобы разработчики имели доступ к имени пользователя / паролю в скрипте сборки, и при этом мы не хотим, чтобы каждый агент сборки работал под этой учетной записью, поскольку разработчики могли создавать сборку, которая использует ее для развертывания в рабочей среде.
Мне не повезло найти ресурсы по рекомендациям по безопасности / развертыванию TeamCity, но я не могу представить, что мы единственная компания в этой ситуации. Как другие управляют безопасностью автоматического развертывания?