Concern Regarding Extremely Slow Deployment Time via GitHub CI/CD to Azure App Service
Dear Azure Support Team,
I am currently using Azure App Service Web App to host our backend (NestJS) and frontend (Vue.js) applications. We are leveraging GitHub Actions for CI/CD deployment. Initially, our deployments would complete within approximately 10 minutes. However, in recent times, the deployment duration has significantly increased, now taking around 40–50 minutes per deployment.
The major delay appears to be in the following step of the workflow:
- name: 'Deploy to Azure Web App'
id: deploy-to-webapp
uses: azure/webapps-deploy@v3
with:
app-name: 'xxxxxx'
slot-name: 'Production'
package: .
From the deployment logs, it is evident that a single step—incremental deployment—consumes almost 40 minutes:
{ "log_time": "2025-05-01T16:38:54.051Z", "message": "Incrementally deploying to /home/site/wwwroot" }, { "log_time": "2025-05-01T17:17:52.322Z", "message": "Build completed successfully." }
This specific process used to complete much faster, and we have not made any significant changes that would justify such a drastic increase in deployment time.
Here is the GitHub Actions workflow file we are using:
Docs for Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
name: Build and deploy Node.js app to Azure Web App - name_xxx
on: push:
branches:
- deployment_internal
``` workflow_dispatch:
jobs:
build:
```yaml
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up Node.js version
uses: actions/setup-node@v3
with:
node-version: '20.x'
- name: npm install, build
run: |
npm install
npm run build
- name: Zip artifact for deployment
run: zip release.zip ./* -r
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v4
with:
name: node-app
path: release.zip
``` deploy:
```yaml
runs-on: ubuntu-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
permissions:
id-token: write
contents: read
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v4
with:
name: node-app
- name: Unzip artifact for deployment
run: unzip release.zip
- name: Login to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_xxxx }}
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_xxxx }}
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_xxxx }}
- name: 'Deploy to Azure Web App'
id: deploy-to-webapp
uses: azure/webapps-deploy@v3
with:
app-name: 'xxxx'
slot-name: 'Production'
package: .
```I would greatly appreciate it if you could help me understand:
Why the incremental deployment step is taking almost 40-50 minutes.
Whether there are any known limitations or recent changes on the Azure platform that could be causing this.
How I can optimize my workflow YAML or deployment strategy to restore the fast deployment times we had initially.
Looking forward to your valuable guidance and support on this matter.