Как вызвать файл build.xml определенной директории, если есть какая-либо регистрация внутри этой директории с перформансом?
Внутри ветви есть 5 модулей в исполнении, и у каждого модуля есть много каталогов с файлами java и файлами build.xml, как мне запустить определенный файл build.xml, если в этом каталоге есть регистрация
Пример: ниже приведен пример структуры, если в файле cord9aif build.xml есть какая-либо регистрация, которая должна быть запущена.
AMX-> oms-> bb-> cord9aif->jjpj.java,build.xml bbbbbbb-> kkhfdh->hgkjgh.java,build.xml test
1 ответ
Действительно простой способ - установить триггер фиксации на сервере Perforce:
change-commit //AMX/oms/bb/cord9aif/... "perl run-my-build.pl"
Преимущество этого заключается в том, что оно происходит автоматически в тот момент, когда изменения вносятся в этот каталог, но это зависит от того, настроена ли у вас инфраструктура, в которой скрипт, запускаемый на вашем сервере, может инициировать сборку (предположительно, на другом компьютере).
Если у вас нет доступа к серверу Perforce, или у сервера Perforce нет доступа к месту, где должна происходить сборка, или к обоим, вы можете сделать это путем опроса любого клиентского компьютера (например, вашего компьютера сборки, который я Предположим, он настроен как клиент Perforce).
То, как я, вероятно, сделал бы это, было бы иметь работу, которая работает p4 sync
на затронутый каталог и смотрит на вывод:
- Любые ошибки или другие неожиданные результаты? Страница человека.
- Какие-нибудь файлы обновлены? Начните сборку.
- В противном случае ничего не делать.
Другим вариантом будет запустить p4 changes
с этим каталогом и отслеживайте самые последние изменения - при появлении нового изменения сообщайте сборочной машине: p4 sync
и начать сборку.