在我的构建文件中,我正在使用的构建步骤之一如下:
<target name="BuildMsDeployPackage" depends="StageForMsDeployPackaging">
<exec program="${msdeploy.exe}"
workingdir="${buildDirectory}"
verbose="true"
commandline="
-verb:sync
-source:manifest=${currentWorkingDirectory}\${sourceManifest}
-dest:package=${publishDirectory}\${webapp.artifact.zip}"/>
在这里,我使用MSDeploy创建一个可以在以后部署的包。源是清单文件的形式。清单文件的内容如下:
<MSDeploy.iisApp>
<iisapp path="C:\test" />
<setAcl path="C:\test\dirOne" setAclAccess="Write" setAclUser="xyz"/>
<setAcl path="C:\test\dirTwo" setAclAccess="Write" setAclUser="abc"/>
</MSDeploy.iisApp>
我正在使用iisapp和setAcl的路径是硬编码的。我希望能够根据构建文件所在的目录(当前工作目录)指定这些。
是否可以通过NAnt做到这一点?
答案 0 :(得分:2)
据我了解你的问题,你想编辑清单文件。由于它是纯XML,因此您可以使用NAnt的<xmlpoke>
任务。通过XPath指定适当的路径属性并将其设置为构建路径。您可以使用NAnt函数project::get-buildfile-path
检索构建文件的路径。