0

perforce 的一个分支中有 5 个模块,每个模块都有许多包含 java 文件和 build.xml 文件的目录,如果该目录中有签入,我应该如何触发特定的 build.xml 文件

例如:下面是示例结构,如果里面的 cord9aif build.xml 文件中有任何签入应该被触发。

AMX->oms->bb->cord9aif->jjpj.java,build.xml bbbbbbb->kkhfdh->hgkjgh.java,build.xml 测试

4

1 回答 1

0

一个非常简单的方法是在 Perforce 服务器上设置提交触发器:

change-commit //AMX/oms/bb/cord9aif/... "perl run-my-build.pl"

这具有在更改提交到该目录时自动发生的好处,但这取决于您是否设置了基础架构,其中在您的服务器上运行的脚本可以触发构建(可能在其他一些机器上)。

如果您无权访问 Perforce 服务器,或者 Perforce 服务器无权访问构建需要发生的位置,或者两者兼而有之,您可以通过从任何客户端机器(例如,我的构建机器)轮询来完成。 d 假设设置为 Perforce 客户端)。

我可能会这样做的方式是p4 sync在受影响的目录上运行一项工作并查看输出:

  1. 任何错误或其他意外输出?寻呼一个人。
  2. 有没有更新文件?开始构建。
  3. 否则,什么也不做。

另一种选择是p4 changes针对该目录运行并跟踪最近看到的更改 - 每当有新更改时,告诉您的构建机器p4 sync并开始构建。

于 2017-04-27T17:10:48.390 回答