- I have an Asp.Net Core MVC 6.0 application.
- It contains multiple class library projects.
- It is also running Asp.Net Identity.
- The project is also hosted in a Github repository.
The application builds and runs fine locally, however, I have added a Github Action for deploying the website to an Azure App Service Linux box, and whilst the deployment says it was successful, the website never gets deployed to Azure.
Here is the website running fine locally:
Here is the Github Action deployment status:
Here is the Azure App Service page, following the "successful" deployment status on Github Actions:
Additional Information
I can also see that an issue has been opened here whereby the user reports that the issue was to do with Asp.Net Identity, and that they had to downgrade the version from .Net 6 to .Net 5, to get it to deploy successfully.
Questions:
- Does anyone have any insights into why this isn't working?
- How do I debug this scenario?
UPDATE 1:
Following some debugging, I can see that the secret I created on Github Actions (which stores the publishing profile for the Azure Web App Service Server , is actually blank, despite me adding the secret value multiple times).
Is this a bug in Github? Does anyone else have the same problem?
UPDATE 2:
- I have visited the KUDU site for the azure app service (https://houseplatform.scm.azurewebsites.net/newui).
- I then checked the contents under the ../site/wwwroot and I can see that there is no file named hostingstart.html (but there a lot of DLLs for all the class library projects from the source code).
Here is my YAML file:
name: Build and deploy ASP.Net Core app to an Azure Web App
env:
AZURE_WEBAPP_NAME: house-platform-dev # set this to the name of your Azure Web App
AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
DOTNET_VERSION: '6.0' # set this to the .NET Core version to use
on:
push:
branches: [ "master" ]
workflow_dispatch:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up .NET Core
uses: actions/setup-dotnet@v2
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Set up dependency caching for faster builds
uses: actions/cache@v3
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Build with dotnet
run: dotnet build --configuration Release
- name: dotnet publish
run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v3
with:
name: .net-app
path: ${{env.DOTNET_ROOT}}/myapp
deploy:
permissions:
contents: none
runs-on: ubuntu-latest
needs: build
environment:
name: 'Development'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v3
with:
name: .net-app
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }}
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}