Мы используем hudson для наших сборок, и мы обнаружили, что если мы используем master для сборки, представление перформанса не загружается. В консоли нет ошибок, за исключением того, что, если это новый проект, плагин Perforce, похоже, обнаруживает неправильную версию и пытается загрузить список изменений 0. Кроме этого, запускаются те же самые команды, которые показаны в консоли на главном сервере, как пользователь hudson работает правильно. Вот вывод консоли для сборки нового проекта на главном сервере Linux (обратите внимание, что это не делает ничего, кроме загрузки представления. Проверка каталога впоследствии показывает, что ничего не было загружено):
Started by user anonymous
Building on master
Clearing workspace...
Cleared workspace.
Using master perforce client: hudson_alec_test
[workspace] $ /usr/local/bin/p4 workspace -o hudson_alec_test
Last sync'd change: 0
[workspace] $ /usr/local/bin/p4 counter change
[workspace] $ /usr/local/bin/p4 -s changes //hudson_alec_test/...@1,@5561
Sync'ing workspace to changelist 0 (forcing sync of unchanged files).
[workspace] $ /usr/local/bin/p4 sync -f //hudson_alec_test/...@0
Sync complete, took 259 ms
Finished: SUCCESS
Вот выходные данные этого проекта, когда я связываю его с нашим ведомым Mac (нет изменений в конфигурации проекта, кроме привязки его к ведомому устройству - обратите внимание, что теперь выполнение корректно обнаруживает изменения и корректно загружает представление):
Started by user anonymous
Building remotely on xxx.xxx.xxx.xxx
Clearing workspace...
Cleared workspace.
Using remote perforce client: hudson_alec_test--yyy
[alec_test] $ /usr/local/bin/p4 workspace -o hudson_alec_test--yyy
[alec_test] $ /usr/local/bin/p4 login -p
[alec_test] $ /usr/local/bin/p4 -P xxx workspace -o hudson_alec_test--yyy
Changing P4 Client Root to: /Users/hudson/hudson_builds/workspace/alec_test/
Changing P4 Client View from:
//depot/... //hudson_alec_test--yyy/...
Changing P4 Client View to:
//depot/webservices/dev/projects/parents/... //hudson_alec_test-yyy/webservices/dev/projects/parents/...
Saving new client hudson_alec_test--yyy
[alec_test] $ /usr/local/bin/p4 -P xxx -s client -i
Last sync'd change: 0
[alec_test] $ /usr/local/bin/p4 -P xxx counter change
[alec_test] $ /usr/local/bin/p4 -P xxx -s changes //hudson_alec_test--yyy/...@1,@5561
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5554
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5552
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5551
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5550
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5213
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5211
Sync'ing workspace to changelist 5554 (forcing sync of unchanged files).
[alec_test] $ /usr/local/bin/p4 -P xxx sync -f //hudson_alec_test--yyy/...@5554
Sync complete, took 409 ms
Finished: SUCCESS
И теперь, возвращая консоль обратно на мастер, вывод консоли: (опять же, нет изменений в конфигурации проекта, кроме привязки его к мастеру и к ведомому, но теперь в рабочей области на мастере не загружаются файлы)
Started by user anonymous
Building on master
Clearing workspace...
Cleared workspace.
Using master perforce client: hudson_alec_test
[workspace] $ /usr/local/bin/p4 workspace -o hudson_alec_test
Last sync'd change: 5554
[workspace] $ /usr/local/bin/p4 counter change
[workspace] $ /usr/local/bin/p4 -s changes //hudson_alec_test/...@5555,@5561
Sync'ing workspace to changelist 5554 (forcing sync of unchanged files).
[workspace] $ /usr/local/bin/p4 sync -f //hudson_alec_test/...@5554
Sync complete, took 229 ms
Finished: SUCCESS
Я видел другие вопросы, относящиеся к журналу Perforce-Hudson, но я не могу найти никаких журналов Performance, кроме тех, что показаны в консоли. Будем весьма благодарны за любые предложения о том, как это отладить.
Когда я писал этот вопрос, я заметил, что на master плагин перформанса, по-видимому, не устанавливает представление клиента в журнале, как это происходит на ведомом устройстве. Я не знаю, имеет ли это какое-либо отношение к проблеме, но это подозрительно.