Perforce:如何跟踪文件“部署”

时间:2012-11-20 21:11:14

标签: git svn version-control mercurial perforce

我们是一个使用Oracle Forms / Reports作为开发工具的小团队,目前我们没有使用版本控制。我们正在考虑使用Perforce作为我们的版本控制软件。

我们当前的政策是团队中的任何开发人员都可以对任何源文件进行更改,然后将生成的可执行文件(.fmx)部署(手动复制)到我们的生产文件夹中。

使用Perforce,我们的策略基本相同,我们只需记录和跟踪源文件更改以及生产文件夹的部署。

源代码更改的跟踪是直截了当的。 但是我们如何使用Perforce跟踪部署? 如果用Perforce无法做到这一点,那么Subversion,Git,Mercurial等其他任何版本控制软件都能做到吗?

2 个答案:

答案 0 :(得分:2)

根据我们在对该问题的评论中的讨论,我相信您正在寻找的是Perforce的triggers功能。

从链接页面是一个例子:

change-submit  //depot/....exe  "/usr/bin/test.pl %change%"

配置Perforce以在.exe文件签入库时运行测试脚本。在您的情况下,它将是.fmx而不是.exe,您可能希望将触发器从整个软件仓库缩小到特定目录。

答案 1 :(得分:2)

我建议这样安排:

  • 使用一个Perforce depot进行源代码更改
  • 将另一个depot用于您要部署的二进制工件
  • 制作一些流程(可能是持续集成)并检查工件
  • 在每个部署目标上,维护一个映射到相应构建工件中的Perforce工作区。
  • 在每个部署目标上,设置一个cron作业或计划任务,只需在某个时间间隔同步Perforce工作区。或者,您可以使用审阅后台程序让部署目标知道何时运行同步。

我喜欢这个设置有几个原因:

  • 您在源工件和构建工件之间具有完全可跟踪性
  • 您可以轻松报告将哪些版本的工件部署到任何目标
  • 您可以使用Perforce工具验证每个目标上工件的完整性