MSDeploy - é possível chamar setAcl em vários destinos de uma só vez?

2

Estou criando um ótimo ambiente de integração contínua para nossa equipe de desenvolvimento, com base no TeamCity. Ele está funcionando muito bem, pois pode criar uma mistura de projetos .NET e PHP e empurrá-los para nossas plataformas internas e externas.

Estou usando principalmente o MsDeploy para empurrar tudo para a plataforma interna, já que tudo é baseado no IIS. No entanto, há várias construções nas quais preciso definir permissões de diretório no diretório de destino. Eu posso usar o operador setAcl muito bem, mas isso só parece ter um único destino como um argumento. Portanto, se eu precisar alterar as permissões em cinco diretórios de destino, eu preciso chamar o MsDeploy 5 vezes, o que parece ser muito sobrecarga.

Existe uma maneira sensata de contornar isso? Lendo a documentação, eu não acho que o MsDeploy leva mais do que um único argumento para o operador setAcl , mas pode estar errado. Existe uma maneira melhor para um servidor de compilação definir várias permissões de diretório de uma só vez?

    
por growse 01.06.2012 / 12:13

1 resposta

1

O manifest provider foi projetado para sincronizar vários provedores de uma só vez:

msdeploy verb:sync -source:manifest=manifest.xml -dest:auto,computerName=...

Então manifest.xml é:

<multipleAcls>
    <setAcl path="path1" setAclAccess="Write" />
    <setAcl path="path2" setAclAccess="Read" />
    <setAcl path="path3" setAclAccess="ReadAndExecute" />
</multipleAcls>
    
por 07.10.2012 / 04:14