使用TeamCity构建后复制文件

xam*_*per 5 teamcity

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

C:\TeamCity\buildAgent\work\688d47a33b8989b6\site
Run Code Online (Sandbox Code Playgroud)

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

C:\WebSites\MySite
Run Code Online (Sandbox Code Playgroud)

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

谢谢

ang*_*son 8

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

ROBOCOPY . C:\WebSites\MySite *.* /E /MIR /NP
IF %%ERRORLEVEL%% LEQ 3 set errorlevel=0
IF %%ERRORLEVEL%% NEQ 0 EXIT /b %%ERRORLEVEL%%
EXIT 0
Run Code Online (Sandbox Code Playgroud)

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

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

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

/XF web.config
Run Code Online (Sandbox Code Playgroud)

这将在复制时忽略web.config.


Geo*_*nez 7

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

RoboCopy TeamCity