it-swarm.com.ru

CI / CD ASP.NET Core Web API с использованием VSTS

Я создал приложение ASP.NET Core Web API с использованием Visual Studio 2017 (Community Edition). Я мог успешно опубликовать в службе приложений Azure с помощью Visual Studio.

Теперь я хочу настроить CI/CD с помощью VSTS. Я использовал параметр "Настроить непрерывную доставку" из Visual Studio, который создал проект в VSTS и создал определение сборки. Мне пришлось создать новое определение сборки на основе шаблона "ASP.NET Core" в VSTS, чтобы избежать ошибок восстановления Nuget. Теперь решение строится и тесты запускаются, но задача "Опубликовать" завершается с предупреждением:

##[warning]No web project was found in the repository. Web projects are identified by the presence of either a web.config file or wwwroot folder in the directory.

Задача "Опубликовать артефакт" имеет похожее предупреждение -

##[warning]Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.

И очевидно, что сборка не дает никаких артефактов.

Нужно ли добавлять какие-либо задачи сборки в стандартный шаблон сборки ASP.NET Core? Как я могу опубликовать свой веб-API в Azure, используя VSTS?

53
alwayslearning

Как предупреждение, ваш репозиторий, похоже, не имеет веб-проекта. Поэтому вам следует отменить выбор параметра публикации в .NET Core. задайте свой .csproj в проекте (ях).

enter image description here

Также вы можете найти подсказку для опции публикации веб-проектов , как показано ниже:

Если значение равно true, задача попытается найти веб-проекты в хранилище и выполнить для них команду публикации. Веб-проекты идентифицируются по наличию в каталоге файла web.config или папки wwwroot.

86
Marina Liu - MSFT

Это может помочь вам ..

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

project.csproj

  <ItemGroup>
    <Folder Include="wwwroot\FoodItem\" />
    <Folder Include="wwwroot\Shops\" />
  </ItemGroup>

после того, как я нажал на vsts, в боковом репо не было папки wwwroot. из-за этого я получил эту ошибку, тогда я снова нажал wwwroot с исправленной ошибкой подпапок

1
Dulanga Heshan