Как использовать Nant / TeamCity для развертывания через DMZ?

StackOverflow https://stackoverflow.com/questions/344591

  •  19-08-2019
  •  | 
  •  

Вопрос

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

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

В любом случае, нужно ли указывать Nant запускать определенную задачу под другим пользователем Windows или есть другое решение моей проблемы?

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

Это было полезно?

Решение

Возможны два варианта:

<Ол>
  • Используйте Simple Runner , чтобы выполнить что-то вроде runas , где указывается nant.exe, работающий под другой учетной записью пользователя ,
  • Измените учетную запись, под которой работает сервер TeamCity; как ограниченный привилегированный пользователь, который имеет доступ к DMZ.
  • Попытайтесь использовать <scp > (задача защищенного копирования), предоставленная NAntContrib .
  • Используйте <exec > a> задача для вызова программы ftp, которая помещает файлы в DMZ.
  • Надеюсь, это немного поможет. Удачи!

    Другие советы

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

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

    scroll top