使用TeamCity构建后复制文件

时间:2015-07-11 13:04:36

标签: teamcity

我的服务器上有TeamCity设置。我已成功下载源代码,并通过Visual Studio构建。日志说构建成功。但是,此时,构建的结果位于以下目录中:

C:\TeamCity\buildAgent\work\688d47a33b8989b6\site

如何获取上面网址的内容并将它们复制到同一台机器上的目录中?例如,我想获取上面列出的目录的内容并将它们放入:

C:\WebSites\MySite

如何在TeamCity中进行复制和粘贴,以便我有一个真正的持续集成周期?

谢谢

3 个答案:

答案 0 :(得分:6)

只需创建一个使用ROBOCOPY或类似步骤的步骤,使用命令行步骤类型,然后执行以下操作:

ROBOCOPY . C:\WebSites\MySite *.* /E /MIR /NP
IF %%ERRORLEVEL%% LEQ 3 set errorlevel=0
IF %%ERRORLEVEL%% NEQ 0 EXIT /b %%ERRORLEVEL%%
EXIT 0

最后3行是因为ROBOCOPY返回非零" ERRORLEVEL"即使成功复制也是如此。如果ROBOCOPY确实报告失败,您希望TeamCity将构建报告为已损坏,但您希望忽略指示成功的错误级别值,因此这3个额外行。

另请注意"。"作为第一个参数,TeamCity中的步骤从设置为构建工作目录的工作目录开始,因此它应该与您的构建目录匹配。

如果您想避免使用开发web.config文件覆盖生产/测试web.config文件,请将其添加到ROBOCOPY行:

/XF web.config

复制时会忽略web.config。

答案 1 :(得分:6)

以下是使用TeamCity 9.1.1的可接受答案的视觉效果。

RoboCopy TeamCity

答案 2 :(得分:3)

你为什么要这样做。当下一次构建发生时,现有内容会发生什么? 如果您正在寻找一种方法来保留构建中生成的文件,那么您应该使用Teamcity Build Artifacts。这样,您可以保留在特定构建中生成的内容。 完成这项工作所需要做的就是在如下常规设置下更新Artefacts路径: enter image description here