2015-05-29 4 views
1

Итак, ключевой элемент скрыт artefacts, также известный как те, которые появляются под .teamcity/ частью артефактов сборки.Доступ к скрытым артефактам teamcity

В некотором контексте: В настоящее время мы запускаем dotCover над нашим шагом NUnit Test, чтобы сообщить о нашем тестовом покрытии. Это помещает компиляцию результатов в файл с именем CoverageResults.xml под номером .teamcity/.NETCoverage/. Это файл, который я хотел бы получить, чтобы мы могли использовать, если для некоторых данных и отправить его на плату gecko.

Теперь мы до сих пор можем получить артефакты не в этой части каталога (например, результат сборки, когда мы выводим ее и т. Д.), Используя рекомендованный methodology. Проблема возникает только при доступе к этой скрытой директории.

Другие странные вещи - это ответ: 302 Временно перемещен.

Для справки, моя ссылка выглядит следующим образом: (в PowerShell кстати)

"http://{0}:{1}@{2}/guestAuth/repository/download/{3}/.lastFinished/.teamcity/.NETCoverage/CoverageReport.xml" -f $serverURl, $gUName, $gPassword, $buildType 

Кто-нибудь есть какие-либо рекомендации о доступе к скрытые артефакты? Где еще можно было бы извлечь эти данные (мы ничего не обнаружили в системных переменных)?

Примечание: Мы уже знаем, что эти артефакты не производятся до завершения этапа сборки. Мы делаем это после факта против завершенной сборки, а не во время самого построения.

+0

Вы всегда можете получить доступ к нему с диска TeamCity, если у вас есть доступ к сети. Если вы хотите самое последнее, его нужно легко найти, даже с безумной схемой нумерации TeamCity. – Rob

+0

К сожалению, у меня нет прямого доступа к коробке. Я мог бы переключать передачи и смотреть на это прямо на коробке, но для перечня причин, по которым я не буду вас утомлять, это не план A. Это, как говорится, я могу заглянуть в то, что, видя, как мы в настоящее время как это сделать (из внешнего источника) не особенно подходит. –

ответ

0

Оставляя решение, мы придумали в том случае, это может помочь кому-то еще:

В конце концов, у нас никогда не было ничтожества, почему, но вкратце, использование аутентификации в URL с помощью Invoke-WebRequest от Powershell не работает. Похоже, что это отбирается из созданного запроса или какого-то такого, но мы пошли в другом направлении, поэтому я больше не могу комментировать это.

То, что мы сделали, было вместо этого, используйте cURL. Это не делает то, что делает Powershell, поэтому мы просто разделили это на два шага в Team City Build. Шаг командной строки, чтобы использовать cURL для загрузки файла и поместить его во временный каталог, а затем шаг Powershell, чтобы получить файл и сделать то, что мы хотели сделать.

0

Если добавить это в поле Артефакта Контуры он присоединит отчет в виде сборки артефакта после того, как сборка завершена

%system.teamcity.build.tempDir%\**\CoverageReport.xml 

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

+0

Хорошо, это положило на то, что мы надеемся, это правильный трек, но мы столкнулись с небольшим количеством дампов скорости. Используя '% system.teamcity.build.tempDir% \ ** \ CoverageReport.xml' и'% system.teamcity.build.tempDir% \ ** \ CoverageReport.xml => CoverageReport' (а также некоторые его варианты) сохраняйте при размещении файла в: 'CoverageReport \ покрытие zip \ CoverageReport.xml', где guid указывает ссылку на агент, сгенерированный для задания сборки.Мы не можем найти ссылку на этот указатель в параметрах сборки, чтобы использовать его для поиска. Есть ли у вас опыт? –

+0

Вы пытаетесь повторно использовать артефакт на другом шаге? Если это так, вы можете переименовать его в зависимости от артефакта (или разархивировать его). Переименуйте * .zip => a.zip. Распаковать * .zip! CoverageReport.xml => CoverageReport.xml. (Что-то вроде этого - непроверено) –

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