Я создаю приятную небольшую среду непрерывной интеграции для нашей команды разработчиков на основе TeamCity. Он работает довольно хорошо, поскольку может создавать смесь проектов .NET и PHP и передавать их на наши внутренние и внешние платформы.
В основном я использую MsDeploy для передачи всего на внутреннюю платформу, поскольку все это основано на IIS. Однако есть ряд сборок, в которых мне нужно установить права доступа к каталогу назначения. Я могу использовать setAcl
оператор в порядке, но кажется, что он принимает только один пункт назначения в качестве аргумента. Поэтому, если мне нужно изменить разрешения для 5 целевых каталогов, мне нужно вызвать MsDeploy 5 раз, что, по-видимому, требует больших накладных расходов.
Есть ли разумный способ обойти это? Читая документацию, я не думаю, что MsDeploy использует более одного аргумента для setAcl
оператор, но мог ошибаться. Есть ли лучший способ для сервера сборки установить несколько разрешений для каталога за один раз?
В manifest
провайдер предназначен для одновременной синхронизации нескольких провайдеров:
msdeploy verb:sync -source:manifest=manifest.xml -dest:auto,computerName=...
затем manifest.xml
является:
<multipleAcls>
<setAcl path="path1" setAclAccess="Write" />
<setAcl path="path2" setAclAccess="Read" />
<setAcl path="path3" setAclAccess="ReadAndExecute" />
</multipleAcls>