将源文件复制到其他 TFS

Copy source files to other TFS

我们有一个 TeamCity/Octopus 设置,可以很好地运行多个项目。

一位新客户想要在开发过程中访问源代码。是否可以使用 TeamCity 将代码从我们的 TFS 复制到其他 TFS?它不需要是实时的。每日副本都可以。

不确定我们是否应该为此使用 TeamCity,或者 TFS 本身是否有可能。

您可以设置每日构建计划并使用 TFS 命令行实用程序将文件传输到另一台服务器。在此过程中,您可能会遇到各种同步问题,除非您始终根据当前情况采取自己的解决方案。

查看 tf.exe,尤其是 workspaceworkfold 命令和 adddelete 以及可选的 destroy。以 tf checkin 完成作业。

过程如下:

  • 在源 TFS 服务器上创建工作区(或使用 team city 中的内置工作区功能):tf workspace /new
  • 映射您要共享的文件夹:tf workfold /map
  • 将文件获取到进行传输的机器:tf get /recursive
  • 在目标 TFS 服务器上创建一个工作区:tf workspace /new
  • 将要共享的文件夹映射到 tf workfold /map 到未映射到源 TFS 服务器的新文件夹。
  • WS2删除目标文件夹中的文件:tf delete * /recursive
  • WS2 检查以确保您不会在远程发生任何冲突:tf checkin /recursive
  • WS1 -> WS2 将文件从第一个工作区复制到第二个:xcopy
  • WS2 添加所有文件:tf add * /recursive
  • WS2 签入所有文件tf checkin * /recursive
  • WS2 & WS2 删除工作空间:tf workspace /delete
  • (可选)删除磁盘上已删除工作区的文件夹中的文件。

PS:如果你移动到 git,这一切都会变得容易得多,因为 git 的分布式特性有点适合这样的场景。