我的服务器上有TeamCity设置。我已成功下载源代码,并通过Visual Studio构建。日志说构建成功。但是,此时,构建的结果位于以下目录中:
C:\TeamCity\buildAgent\work\688d47a33b8989b6\site
如何获取上面网址的内容并将它们复制到同一台机器上的目录中?例如,我想获取上面列出的目录的内容并将它们放入:
C:\WebSites\MySite
如何在TeamCity中进行复制和粘贴,以便我有一个真正的持续集成周期?
谢谢
答案 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)
答案 2 :(得分:3)
你为什么要这样做。当下一次构建发生时,现有内容会发生什么? 如果您正在寻找一种方法来保留构建中生成的文件,那么您应该使用Teamcity Build Artifacts。这样,您可以保留在特定构建中生成的内容。 完成这项工作所需要做的就是在如下常规设置下更新Artefacts路径: