Пакеты Nuget недоступны в TeamCity

Мы экспериментируем с использованием Octopus для компакт-дисков с помощью TeamCity. Мы разрешили OctoPack создавать пакеты Nuget для использования во время развертывания. Мы также экспериментируем с созданием библиотек и использованием интегрированного сервера Nuget.

Мы смогли успешно сделать и то, и другое. И развертывание в среде, и использование Nuget.Config как для установки пакета библиотеки, так и для восстановления и сборки в TC.

Вчера компакт-диск перестал работать, пакеты собираются, но сервер Nuget не делает их доступными. Мы сбрасываем метаданныеBuilds в соответствии с инструкциями TC, и мы по-прежнему не получаем новые пакеты в ленте. Мы подтвердили, что пакеты все еще создаются.

Любые идеи?


person swhite    schedule 24.03.2016    source источник


Ответы (2)


Я бы сказал, что отправная точка для решения этой проблемы зависит от того, где хранятся пакеты nuget, когда ваше решение встроено в TC.

Если они остались в ленте TC Nuget, вам следует посмотреть, есть ли в магазине Nuget более 100 пакетов (артефакты TC). Мы обнаружили, что после того, как вы пройдете более 100 пакетов, пакеты после этих 100 не будут отображаться в ленте, когда Octopus попытается извлечь из нее.

Если вы отправляете в собственный магазин Octopus Nuget, возможно, следите за тем, чтобы пространство на этом сервере не было заполнено до такой степени, что он не может больше отталкивать их.

Журнал сборки в TC должен многое рассказать вам о том, где и как обрабатываются эти пакеты. Они также должны отображаться как артефакты сборки после сборки, что позволит дополнительно проверить, что они, по крайней мере, строятся.

person ChaosMonkey    schedule 20.04.2016

Хотя это может быть не связано, фид Nuget в TC может занять некоторое время, чтобы получить новые пакеты после завершения сборки. Особенно, когда вы получаете большое количество посылок. Это может привести к сбою Octopus, если он сразу после этого запустится (цепной сборкой).

То, что я обнаружил, работает лучше всего, так это отправлять пакеты развертывания непосредственно во внутреннее хранилище Octopus nuget и сохранять общий доступ (на который ссылаются в других проектах) на TC или другом сервере nuget. (Обратите внимание, что вы не можете использовать Octopus в качестве сервера nuget для получения пакетов). Нажатие выполняется как явный шаг в сборке, которая создает пакеты.

person Robert Wagner    schedule 19.05.2016