需要编写用于将网站部署到共享目录的脚本。但是要访问此目录,需要输入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,具有与部署时相同的访问权限。
答案 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,而是使用命令行运行器并执行该包装工具