使用VSTS的ASP.NET Core Web API的CI/CD

问题描述:

我已经使用Visual Studio 2017(社区版)创建了ASP.NET Core Web API应用程序。我可以使用Visual Studio成功发布到Azure应用服务。使用VSTS的ASP.NET Core Web API的CI/CD

我现在想用VSTS设置CI/CD。我使用了Visual Studio中的'Configure Continuous Delivery'选项,它在VSTS中创建了一个项目并创建了一个构建定义。我必须根据VSTS中的'ASP.NET Core'模板创建一个新的构建定义,以避免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构建模板?如何使用VSTS将我的Web API发布到Azure?

作为警告消息,您的存储库似乎没有Web项目。 所以你应该取消选择发布网络项目在.NET核心发布任务中的选项,并在项目选项中指定您的.csproj选项。

enter image description here

而且你还可以找到提示消息发布如下Web项目选项

如果为真,该任务将尝试在网上找到项目库 和在它们上运行publish命令。 Web项目由 标识,存在 目录中的web.config文件或wwwroot文件夹。

+2

我有这个错误,dotnet核心2.我没有一个web.config(而是我有一个appsettings.json文件),并发现我可以解决它通过确保wwwroot文件夹在源代码管理。在这种情况下,在GitHub中,我必须在wwwroot中为GitHub创建一个空文件来拾取文件夹(因为某些原因,GitHub不喜欢空白文件夹)。 – Sam

+0

我有两个几乎完全相同的构建,都是API项目,都没有web.config文件。但是在其中一个API项目中,只是在应用此建议之前,它不会创建压缩的制品! – reckface

+0

工作: step发布 - >项目:**/*。csproj –