perforce 的一个分支中有 5 个模块,每个模块都有许多包含 java 文件和 build.xml 文件的目录,如果该目录中有签入,我应该如何触发特定的 build.xml 文件
例如:下面是示例结构,如果里面的 cord9aif build.xml 文件中有任何签入应该被触发。
AMX->oms->bb->cord9aif->jjpj.java,build.xml bbbbbbb->kkhfdh->hgkjgh.java,build.xml 测试
perforce 的一个分支中有 5 个模块,每个模块都有许多包含 java 文件和 build.xml 文件的目录,如果该目录中有签入,我应该如何触发特定的 build.xml 文件
例如:下面是示例结构,如果里面的 cord9aif build.xml 文件中有任何签入应该被触发。
AMX->oms->bb->cord9aif->jjpj.java,build.xml bbbbbbb->kkhfdh->hgkjgh.java,build.xml 测试
一个非常简单的方法是在 Perforce 服务器上设置提交触发器:
change-commit //AMX/oms/bb/cord9aif/... "perl run-my-build.pl"
这具有在更改提交到该目录时自动发生的好处,但这取决于您是否设置了基础架构,其中在您的服务器上运行的脚本可以触发构建(可能在其他一些机器上)。
如果您无权访问 Perforce 服务器,或者 Perforce 服务器无权访问构建需要发生的位置,或者两者兼而有之,您可以通过从任何客户端机器(例如,我的构建机器)轮询来完成。 d 假设设置为 Perforce 客户端)。
我可能会这样做的方式是p4 sync
在受影响的目录上运行一项工作并查看输出:
另一种选择是p4 changes
针对该目录运行并跟踪最近看到的更改 - 每当有新更改时,告诉您的构建机器p4 sync
并开始构建。