首页 文章

TeamCity输出工件未发布到IIS7文件夹

提问于
浏览
-1

我正在尝试设置TeamCity来构建和部署ASP.NET MVC应用程序 .

我使用TeamCity 4.5在其他服务器上成功运行安装程序,但是新服务器运行的是TeamCity 6,我无法按预期运行它 .

TeamCity设法从源代码控制中获取文件,项目(Visual Studio Solution 2008设置为“Build”)按预期构建并输出必要的文件 . 问题似乎与我的工件路径有关,因为输出文件未复制到网站文件夹 .

我的解决方案包含十几个项目,其中“Web”项目在这种情况下很有趣 . 构建签出目录是C:\ TeamCity \ buildAgent \ work \ 7da320cebf0ee541,“Web”项目位于C:\ TeamCity \ buildAgent \ work \ 7da320cebf0ee541 \ Web中

我已经使用以下工件路径设置了我的构建配置(相对于checkout目录到包含该网站的文件夹):

Web/bin=>../../../../inetpub/wwwroot/staging/bin
Web/Content=>../../../../inetpub/wwwroot/staging/Content
Web/Views=>../../../../inetpub/wwwroot/staging/Views
Web/Media=>../../../../inetpub/wwwroot/staging/Media
Web/*.aspx=>../../../../inetpub/wwwroot/staging
Web/*.asax=>../../../../inetpub/wwwroot/staging

(我试过更多../以防万一,但它没有什么区别) .

这是我从日志中获得的输出

[19:35:29]:发布工件(1s)[19:35:29]:[发布工件]发布路径:[Web / bin => ../../../../ inetpub / wwwroot / staging / bin,Web / Content => ../../../../ inetpub / wwwroot / staging / Content,Web / obj => ../../../../ inetpub / wwwroot / staging / obj,Web / Views => ../../../../ inetpub / wwwroot / staging / Views,Web / Media => ../../../../ inetpub / wwwroot / staging / Media,Web / .aspx => ../../../../ inetpub / wwwroot / staging,Web / .asax => ../../../../ inetpub / wwwroot / staging,teamcity-info.xml] [19:35:30]:[发布工件]发送文件[19:35:32]:构建完成

来自运行TeamCity 4.5的其他一些服务器的日志使用不同的格式,每个工件都有一行发布,我不确定这是否相关或仅由于不同的日志格式 .

一切似乎都在工作,但是在构建之后没有文件放在我的网站文件夹中,我在这里遗漏了什么?任何帮助都感激不尽 :)

3 回答

  • 1

    我总是使用构建脚本来处理这种过程,因为你正在使用TC6,你应该能够在执行复制/移动的VS.NET解决方案构建器之后添加第二个构建步骤 . MSBuild可能是执行此操作的首选脚本方法,但如果您需要执行的操作是复制,则可以使用简单的控制台运行程序 . 使用脚本方法,您应该能够使用部署目录的绝对路径,该路径不应该像相对路径一样脆弱 .

  • 1

    从6.0开始,TeamCity不允许在服务器的工件目录之外发布工件(出于安全原因) . 我认为这是你的情况 .

    在服务器日志(TeamCity / logs / teamcity-server.log)中,应该有一个相关的警告,以“尝试在构建工件目录之外发布工件”开始 .

    如果您不想将文件发布到某个特定位置,则应该创建一个单独的构建步骤,该步骤将通过FTP或某些内容将文件发送到所需位置 .

    您可能还想投票http://youtrack.jetbrains.net/issue/TW-1558

  • 1

    为什么不看看Albacorebuild . 我'm using it to control the build process, running tests, creating ZIP'和NuGet包 . 更多信息和示例:http://daniel.wertheim.se/2011/07/14/continuous-integration-using-teamcity-rake-albacore-github-and-nunit-for-net-%E2%80%93-part-3/

相关问题