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