【问题标题】:TeamCity + MSBuild: Deployment with access rightsTeamCity + MSBuild:具有访问权限的部署
【发布时间】:2010-09-21 11:39:49
【问题描述】:

需要编写将网站部署到共享目录的脚本。但要访问此目录需要输入登录名/密码。我该怎么做?

MSBuild 配置部分:

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

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

附:我无法使用部署时应使用的相同访问权限运行 TeamCity。

【问题讨论】:

    标签: deployment msbuild teamcity


    【解决方案1】:

    您可以使用 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"/>
    

    【讨论】:

      【解决方案2】:

      在正确帐户下运行的额外构建代理怎么样?

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

      === 编辑 ===

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-25
        • 2017-10-08
        • 2011-05-15
        • 1970-01-01
        相关资源
        最近更新 更多