使用TeamCity生成后复制文件
我在服务器上安装了TeamCity。我已经成功下载了我的源代码,并通过VisualStudio构建了它。日志显示构建成功。但是,此时,生成的结果位于如下目录中:使用TeamCity生成后复制文件,teamcity,Teamcity,我在服务器上安装了TeamCity。我已经成功下载了我的源代码,并通过VisualStudio构建了它。日志显示构建成功。但是,此时,生成的结果位于如下目录中: C:\TeamCity\buildAgent\work\688d47a33b8989b6\site 如何获取上面url的内容并将其复制到同一台机器上的目录中?例如,我想将上面列出的目录的内容放入: C:\WebSites\MySite 我如何在TeamCity内进行复制和粘贴,从而实现真正的持续集成循环 谢谢只需创建一个使用ROBO
C:\TeamCity\buildAgent\work\688d47a33b8989b6\site
如何获取上面url的内容并将其复制到同一台机器上的目录中?例如,我想将上面列出的目录的内容放入:
C:\WebSites\MySite
我如何在TeamCity内进行复制和粘贴,从而实现真正的持续集成循环
谢谢只需创建一个使用ROBOCOPY或类似工具的步骤,使用命令行步骤类型,然后执行如下操作:
ROBOCOPY . C:\WebSites\MySite *.* /E /MIR /NP
IF %%ERRORLEVEL%% LEQ 3 set errorlevel=0
IF %%ERRORLEVEL%% NEQ 0 EXIT /b %%ERRORLEVEL%%
EXIT 0
最后三行是因为ROBOCOPY返回非零的“ERRORLEVEL”值,即使复制成功。如果ROBOCOPY确实报告失败,您希望TeamCity将构建报告为中断,但您希望忽略表示成功的errorlevel值,因此这3行额外的代码
还请注意,“.”作为第一个参数,TeamCity中的步骤从设置为生成的工作目录的工作目录开始,因此它应该与您的生成目录匹配
如果要避免使用开发web.config文件覆盖生产/测试web.config文件,请将其添加到ROBOCOPY行:
/XF web.config
复制时将忽略web.config。为什么要这样做。当下一次构建发生时,现有内容会发生什么变化? 如果您正在寻找一种方法来保存生成的文件,那么您应该使用Teamcity。通过这种方式,您可以保留在特定构建中生成的内容。 要完成此操作,只需在常规设置下更新人工制品路径,如下所示:
以下是使用TeamCity 9.1.1获得的公认答案的视觉效果
即使构建失败,这也会产生工件。我假设复制几个文件/文件夹,您复制了前三行,并在末尾保留了
退出0
?设置此项时出现错误的任何人的额外注意事项:从第一行中删除/NP
部分将在TeamCity日志中更好地反馈错误。