Azure应用服务部署Github操作:错误:部署失败,错误为:错误:未找到具有指定模式的包

vx6bjr1n  于 2022-11-30  发布在  Git
关注(0)|答案(1)|浏览(157)

我尝试使用GitHub操作CI/CD将一个dotnet核心应用部署到Azure。但是,该应用不在根存储库中,而是在另一个文件夹MYAPP中。因此,我必须更新构建和发布作业的工作目录,但现在我不断收到此错误:
运行Azure/webapps-deploy@v2错误:部署失败,错误为:错误:找不到具有指定模式的包:./已发布
我的项目结构如下

├── .github/workflows                   
├── MYAPP  
├───── MYAPP.sln
├───── MYAPPTESTS   
├───── MYAPP
├─────────── MYAPP.csproj   
├── docs                    
├── OtherFolder                 
└── README.md

我的YML文件如下

name: Build and deploy ASP.Net Core app to Azure Web App - myappdeploy

on:
  push:
    branches:
      - main
  workflow_dispatch:

env:
  AZURE_WEBAPP_PACKAGE_PATH: './published'   

jobs:
  build:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v2

      - name: Set up .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: '6.0.x'
          include-prerelease: true
          
      - name: dotnet build and publish
        working-directory: ./MYAPP
        run: |
          dotnet restore
          dotnet build --configuration Release
          dotnet publish -c Release -o ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}
          
      - name: 'Run Azure webapp deploy action using publish profile credentials'
        uses: azure/webapps-deploy@v2
        with: 
            app-name: 'myappdeploy'
            publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_7894EB5E4C174F72A5EDE9C64B658907 }}
            package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}

我错过了什么?谢谢
我尝试将. deployment添加到根存储库中,而不是工作目录中。

[config]
project = ./MYAPP

但是,未读取此文件,管道会指出找不到. sln文件。我还尝试在Azure应用服务配置上添加Project应用设置,但管道仍然无法工作。
我尝试删除azure/webapps-deploy@v2的包参数,管道成功运行,但在访问网站时却出现错误:
You do not have permission to view this directory or page
此外,找不到应用程序的任何路线(404)

    • 在本地运行解决方案时没有问题。通过Visual Studio GUI手动部署到应用服务时也没有问题。但是,这不是一个合适的解决方案,因为需要GitHub CI/CD。**
qoefvg9y

qoefvg9y1#

对于任何可能遇到相同问题的人,我必须指定.sln在dotnet构建期间的位置以及.csproj在dotnet发布时的位置。

- name: dotnet build and publish
        # working-directory: ./MYAPP
        run: |
          dotnet restore
          dotnet build MYAPP/MYAPP.sln --configuration Release
          dotnet publish MYAPP/MYAPP/MYAPP.csproj -c Release -o ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}

相关问题