2016-08-15 3 views
3

Мы только что расширили область действия TeamCity, чтобы теперь у нас было несколько агентов, работающих на разных серверах (все они были на одном сервере).TeamCity многоэтапная сборка с использованием разных агентов

Проблема, с которой мы сталкиваемся, заключается во время сборки, которая имеет несколько этапов, где последний шаг зависит от артефактов, созданных предыдущим шагом. Кажется, что тот же агент не используется для всех шагов сборки. Поэтому, когда Build Agent 1 создает артефакт в C: \ BuildAgent \ work \ 785e028597a0a18d \ src \\ obj \ octopacked, последний шаг не может найти его, потому что последний шаг, похоже, выполняется на другом агенте Build Agent 2, который конечно, не имеет этого артефакта на этом сервере.

Нужно ли мне просто использовать UNC-путь для артефактов, или я что-то здесь не вижу? Я думал, что одна конфигурация сборки всегда будет использовать один и тот же агент сборки, но, похоже, это не так.

Любая помощь была бы принята с благодарностью.

С уважением,

dotdev

+0

Вы можете просто уточнить - Вы сказать несколько шагов сборки - Вы имеете в виду билд, который имеет ряд конфигураций, т.е. одна конфигурации сборки зависит от сборки артефактов другого? Шаги обычно выполняются на одном агенте. –

ответ

1

Если вы правильно публикации сборки артефактов, то различные агенты будут иметь возможность правильно решить их. Моя догадка заключается в том, что они не публикуются или, возможно, их тоже неправильно потребляют.

1. Убедитесь, что вы публикуете свои артефакты, используя следующее поле, но, как я вижу, вы используете Octopack, тогда это должно публиковаться автоматически. Она также может быть стоит проверить, что флаг /p:OctoPackPublishPackagesToTeamCity=false не передается в качестве параметра сборки на этапе компиляции

enter image description here

2. В зависимости от конфигурации сборки, убедитесь, что вы потребляете артефакт правильно

enter image description here

Это будет гарантировать, что .nupkg доступен в рабочем каталоге агента, который начинает эту конфигурацию сборки. Если его там нет, посмотрите на шаг, создающий артефакт, чтобы он был опубликован.

Надеется, что это помогает

+0

это было! Много thnaks – dotdev

Смежные вопросы