我尝试使用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。**
1条答案
按热度按时间qoefvg9y1#
对于任何可能遇到相同问题的人,我必须指定.sln在dotnet构建期间的位置以及.csproj在dotnet发布时的位置。