TeamCity + MSBuild:具有访问权限的部署

时间:2010-09-21 11:39:49

标签: deployment msbuild teamcity

需要编写用于将网站部署到共享目录的脚本。但是要访问此目录,需要输入login / password。我该怎么办?

MSBuild配置部分:

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

我可以在何处以及如何指定允许TeamCity将网站部署到所选目录的登录名和密码?

P.S。我无法运行TeamCity,具有与部署时相同的访问权限。

2 个答案:

答案 0 :(得分: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 :(得分:1)

在正确的帐户下运行的其他Build-Agent怎么样?

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

=== edit ===

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