Permissions

MSDeploy - 可以一次性在多個目的地呼叫 setAcl?

  • October 7, 2012

我正在基於 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>

引用自:https://serverfault.com/questions/394655