2010-09-21 37 views
2

需要编写用于将网站部署到共享目录的脚本。但是要访问这个目录需要输入登录名/密码。我该怎么做?TeamCity + MSBuild:具有访问权限的部署

的MSBuild配置的一部分:

<PropertyGroup Condition="'$(SERVER)'=='DEV'"> 
    <DeploymentFolder>\\server\dir$</DeploymentFolder> 
     <CopyConfig>dev.web.config</CopyConfig> 
     <ZipFile>webSite.zip</ZipFile> 
    </PropertyGroup> 

在哪里,我怎么可以指定用户名和密码,这让TeamCity的部署网站,选定的目录?

P.S.我无法运行TeamCity应用于部署的相同访问权限。

回答

4

您可以使用DOS“net use”命令将远程服务器目录映射到驱动器盘符,如下例所示:

<Exec Command="net use Q: \\server\dir your-password /USER:your-username"/> 
<Copy SourceFiles="@(YourDeploymentFiles)" DestinationFolder="Q:\%(RecursiveDir)" /> 
<Exec Command="net use Q: /delete"/> 
1

在正确的帐户下运行的额外Build-Agent又如何?

另一个想法可能是编写一个MSBuild任务,在指定的目录上执行操作。在这个任务中,你可以使用正确的凭证。

===编辑===

另一个想法:写一个小工具,执行msbuild使用正确的凭据。不使用TeamCity的MSBuild Runner,而是使用Command Line runner并执行该包装工具

相关问题