2016-01-21 5 views
2

Мой ДНУ публиковать шаг терпит неудачу в TeamCity из-за длины пути в конечном итоге выйти из-под контроля:TeamCity ДНУ публиковать не будет работать на длине пути слишком долго

[14:35:29][Step 1/1] Using Package dependency Microsoft.Extensions.Configuration.FileProviderExtensions 1.0.0-rc1-final 
[14:35:29][Step 1/1]  Source C:\Users\TFSSERVICE\.dnx\packages\Microsoft.Extensions.Configuration.FileProviderExtensions\1.0.0-rc1-final 
[14:35:29][Step 1/1]  Target D:\TeamCity\buildAgent\work\31745f64510dfced\artifacts\Company.Auth.IdentityProvider\approot\packages\Microsoft.Extensions.Configuration.FileProviderExtensions\1.0.0-rc1-final 
[14:35:29][Step 1/1] Using Package dependency Microsoft.Extensions.FileSystemGlobbing 1.0.0-rc1-final 
[14:35:29][Step 1/1]  Source C:\Users\TFSSERVICE\.dnx\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.0-rc1-final 
[14:35:29][Step 1/1]  Target D:\TeamCity\buildAgent\work\31745f64510dfced\artifacts\Company.Auth.IdentityProvider\approot\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.0-rc1-final 
[14:35:29][Step 1/1] Error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. 
[14:35:29][Step 1/1] Process exited with code 1 
[14:35:29][Step 1/1] Step DNU publish (Command Line) failed 

Я уже обновил свой путь правила Кассовые агента укоренить проект ближе к каталогу агента сборки.

Возможным решением может быть установка вывода публикации как нечто более близкое к корню привода. Однако шаг сборки публикации TeamCity DNU не поддерживает изменение выходного каталога. Кроме того, я буду отвечать за управление этим каталогом.

Идеальное решение будет включать в себя минимальное количество ручной настройки для агента сборки, так как у меня есть несколько из них.

ответ

2

Мы (команда ASP.NET) используем TeamCity и нажимаем ограничение по пути на Windows. К сожалению, это вызвано ходом node.js, и мы не можем его контролировать, поэтому нам пришлось перемещать рабочую директорию ближе к корню диска. Прямо сейчас в D:\ba (ba = агент сборки).

Итак, единственное решение, которое у меня есть сейчас, - это попытаться приблизить проект к корню диска.

Команда DNU publish корректно работает в Windows 10, но не предыдущая версия Windows, включая Server 2012 R2. В настоящее время, я могу только заподозрить колдун черной магии (преобразовывая путей NT и обратно?)

dnu должен работать на Win 7 (с последним SP), Win 2008 R2, Win 8, Win 2012, Win 10 и Win 2016 Server. Если вы нажмете на какие-либо проблемы с определенной платформой, откройте ошибку на Github (aspnet)

+0

Я реализовал пользовательский выходной каталог как временное решение, так как это было точкой опроса для нарушения длины пути. Приведение агента сборки ближе к корню диска - идеальное решение, но для установки, с которой я работаю, будет больше задействован, поскольку есть устаревшие сборки, которые неправильно сконфигурированы. –

+0

Что касается публикации DNU, действующей странно в разных версиях Windows, это было неуловимо. Некоторые из наших машин с Windows 10 не имеют проблемы с публикацией того, что имеет нарушения длины пути на другой машине. Тем не менее, машины Windows 10 могут и будут иметь нарушение длины пути в какой-то момент. Скорее всего, PEBKAC. –

3

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

D:\TeamCity\buildAgent\work

к чему-то вроде

D:\work

или даже

D:\w

0

Вы можете поделиться папкой с особым, коротким именем.

Также здесь вы найдете similar question с несколькими ответами.