使用Github操作将多项目ASP.NET Core web应用程序部署到Azure app Service



我正在设置一个新的ASP.NET Core(3.1版(web应用程序。我在Github上托管了它,并使用Github操作将其部署到Azure应用程序服务。

只要我在解决方案中有一个项目(主要的ASP.NET核心项目(,部署就可以正常工作。

当我添加了一个测试项目并在应用程序服务配置中设置PROJECT=helloworld/helloworld.csproj时(正如文档和我在互联网上找到的博客中所建议的那样(,部署开始失败。

Github Actions失败消息说,我应该参考日志了解更多详细信息。我不知道从哪里可以得到这些日志。

我的存储库结构:

- helloworld (sln directory)
- helloworld.sln
- helloworld (main asp.net core project directory)
- helloworld.csproj
- tests
- helloworld.tests (test project directory)
- helloworld.tests.csproj

Github Actions工作流定义是在设置应用程序服务时自动生成的基本定义:

...
- name: dotnet publish
run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp
- name: Deploy to Azure Web App
uses: azure/webapps-deploy@v1
with:
app-name: 'helloworld'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_6941d41e13284fa890c1c34ffa8674e0 }}
package: ${{env.DOTNET_ROOT}}/myapp 

如果您将源代码发布到AppService,并让它构建和运行项目,则可以使用PROJECT设置。您的工作流程正在使用Github Actions构建和编写代码,因此您只需发布编译后的结果。您需要做的是发布所需的项目。应该看起来像这样:

- name: dotnet publish
run: dotnet publish helloworld/helloworld.csproj -c Release -o ${{env.DOTNET_ROOT}}/myapp

最新更新