【问题标题】:Provide credentials to MSBuild publish step that uses FileSystem deployment in TeamCity为在 TeamCity 中使用 FileSystem 部署的 MSBuild 发布步骤提供凭据
【发布时间】:2013-11-21 16:26:23
【问题描述】:

我在计算机不属于域的开发环境中工作。我正在尝试在其中一台计算机上设置 TeamCity 8.05,以便将签到发布到我们的 QA 团队的测试服务器。当我部署到 TeamCity 服务器上的本地目录时,我已经按照我想要的方式工作了,但是当我尝试发布到 QA 服务器时,我遇到了权限问题。我在 QA 服务器上与本地用户共享,我在发布时要对其进行身份验证。 MSBuild 可以做到这一点吗?

命令行切换到我在 TeamCity 中的 MSBuild 运行器如下所示:

/p:PublishProfile=./Alpha.publish /p:DeployOnBuild=true 
/p:Configuration=Alpha /p:VisualStudioVersion=11.0 
/p:UserName=QAServer\BuildUser /p:Password=somepass

Alpha.publish 文件如下所示:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Alpha</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>\\QAServer\Alpha</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
    <PrecompileBeforePublish>True</PrecompileBeforePublish>
    <EnableUpdateable>True</EnableUpdateable>
    <DebugSymbols>False</DebugSymbols>
    <WDPMergeOption>DonotMerge</WDPMergeOption>
  </PropertyGroup>
</Project>

运行此步骤时,我收到“拒绝访问路径 \\QAServer\Alpha”消息。我认为这是因为构建代理作为无法访问 QAServer 的系统帐户运行。

我试图避免使用 Web Deploy 的开销,但如果这不可能,it looks like that would work for me

【问题讨论】:

    标签: visual-studio-2012 msbuild continuous-integration teamcity


    【解决方案1】:

    来自 Sayed I. Hashimi 推特:

    FileSystem 依赖于 Windows 身份验证。输入密码被忽略。 您的构建用户将需要写入权限

    我就是这么想的。我的解决方案是先发布到本地暂存目录,然后使用SMB Deployer from the TeamCity Deployer plugin 在网络上移动文件。该插件允许您指定凭据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      相关资源
      最近更新 更多