2008-12-05 2 views
2

У меня есть сервер внутри нашего домена (и это должно быть потому, что оно также связано с другими полями в домене) и веб-сервером, который находится в DMZ.Как использовать Nant/TeamCity для развертывания через DMZ?

Как часть наших скриптов сборки, я хотел бы развернуть веб-сайты на веб-сервере в DMZ, используя задачу копирования Nant. Проблема заключается в том, что Nant вызывается из TeamCity, который выполняется под учетной записью System на сервере сборки, и я не могу найти, чтобы предоставить доступ к системной учетной записи сервера сборки в каталоги веб-серверов DMZ. (Это, вероятно, не очень хорошая идея).

Есть ли вообще сказать Нанту выполнить конкретную задачу под другим пользователем Windows или есть другое решение моей проблемы?

Редактировать: Еще одно ограничение, под управлением которого я запущен, заключается в том, что я не могу создавать новые учетные записи домена (ну, по крайней мере, не пропуская процесс утверждения). Я могу создавать локальные учетные записи компьютеров, но в этом случае не кажется, что runas будет работать через DMZ.

ответ

2

Пара вариантов может быть:

  1. Используйте Simple Command Runner для EXEC, чтобы что-то вроде runas, указав nant.exe работает под учетной записью другого пользователя.
  2. Измените учетную запись, на которой запущен сервер TeamCity; как ограниченный привилегированный пользователь, имеющий доступ к DMZ.
  3. Попытка использования задачи <scp> (защищенная копия) предоставлена ​​NAntContrib.
  4. Задайте задачу nant <exec>, чтобы вызвать программу ftp, которая помещает файлы в DMZ.

Надеюсь, это поможет. Удачи!

0

вы можете использовать удаленную удаленную сеть, чтобы вытаскивать выпуски с сервера сборки. Сервер будет менее уязвимым, чем если бы вы использовали push-версию, такую ​​как копия файла.

Я делаю это с помощью специального приложения, которое входит в команду teamcity и загружает артефакты, а затем разворачивается с использованием powershell локально.

Смежные вопросы