Совместное использование артефактов между агентами / фазами / заданиями в плане сборки

У меня есть план строительства, который состоит из 4 этапов. 1 фаза строит проект. Следующие 3 фазы ждут завершения сборки, затем запускаются параллельно, каждая на своих собственных агентах, выполняя тесты qa, у каждого свой собственный набор тестов. Проблема заключается в копировании библиотеки DLL, созданной на этапе 1, в три других этапа, поскольку все этапы выполняются на собственных агентах, а большинство переменных, таких как System.DefaultWorkingDirectory, относятся к области действия агента.


person Razkar    schedule 15.05.2019    source источник
comment
Тесты - это функциональные тесты?   -  person Shayki Abramczyk    schedule 15.05.2019
comment
В зависимости от того, что вы имеете в виду под функциональным. Это НЕ модульные тесты, если это ваш вопрос   -  person Razkar    schedule 15.05.2019
comment
Хорошо, поэтому, если это не модульный тест, рекомендуется запускать тест во время выпуска, а не на этапе сборки. это также может решить вашу проблему.   -  person Shayki Abramczyk    schedule 15.05.2019
comment
Мы пробовали это, есть проблемы, с которыми мы сталкиваемся, которые являются частью другого тикета. На данный момент нам просто нужно скопировать артефакты внутри одного плана сборки между агентами.   -  person Razkar    schedule 15.05.2019
comment
Знаете ли вы, будет ли артефакт сборки, созданный планом сборки, совместно использоваться задачами VSTest на разных агентах в конвейере выпуска?   -  person Razkar    schedule 15.05.2019
comment
1) если вы хотите, чтобы это было в конвейере сборки, вы можете создать папку, которую каждый раз, когда dll будет копировать туда, другие агенты будут брать ее оттуда и проверять. 2) в конвейере выпуска вы можете определить несколько сред с разными агентами, и каждый агент получит артефакты.   -  person Shayki Abramczyk    schedule 16.05.2019
comment
Как говорили другие, скопируйте в заранее определенное место (\ $ (Build.DefinitionName) \ $ (Build.BuildNumber)), затем попросите другие агенты поднять его и запустить с ним. Чтобы помочь с отладкой и поиском дополнительных переменных, я создаю этап сборки Print Env Variables, который является задачей Batch Script, значение Path установлено на cmd.exe, а аргументы - на /c set. Итак, все переменные среды распечатаны, и я могу их использовать. Но из того, что я читал, вашу тестовую задачу лучше всего выполнять в Release Pipeline. Им обоим можно назначить использование ТОЧНОГО одного и того же агента, если вы хотите, если проблема в том, где они работают.   -  person Antebios    schedule 16.05.2019
comment