AZ-400 Practice Question: Design and implement build and release pipelines
Your team uses Azure DevOps to deploy a Node.js web app to Azure App Service on Linux. The build pipeline runs `npm install` and `npm run build`, then publishes the `dist` folder. The release pipeline uses the 'Azure App Service deploy' task. Recently, deployments fail intermittently with 'ERR_MODULE_NOT_FOUND' for a custom module. The module is listed in `package.json` and is present in the `node_modules` folder on the build agent. What is the most likely cause?
⚠ Common exam trap
Many exam-takers assume the Azure App Service deploy task automatically runs `npm install` on the target (like it does on Windows), but on Linux, the default behavior is to deploy the artifact as-is without dependency restoration unless explicitly configured.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The build artifact does not include node_modules; the app requires them at runtime.
The most likely cause is that the build artifact does not include the `node_modules` folder. The build pipeline runs `npm install` and `npm run build`, which installs dependencies on the build agent, but only the `dist` folder is published as the artifact. At deployment time, the Azure App Service on Linux expects the `node_modules` folder to be present in the deployed artifact because it does not automatically run `npm install` for Node.js apps on Linux (unlike Windows-based App Services). Without `node_modules`, the app cannot resolve custom modules at runtime, leading to the `ERR_MODULE_NOT_FOUND` error.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The 'Azure App Service deploy' task modifies package.json during deployment.
Why it's wrong here
The Azure App Service deploy task does not modify package.json; it only deploys the existing artifact contents to the app service. Package.json changes would have to be made during the build or by a custom post-deployment script, not by the deploy task itself.
- ✗
The 'Azure App Service deploy' task runs npm install on the target, but it fails due to network restrictions.
Why it's wrong here
By default, the Azure App Service deploy task does not run npm install on the target; it simply copies the artifact to the app service. If a deployment script triggered npm install, network restrictions could cause failure, but here the artifact is already missing node_modules, so the task's default behavior is not the cause.
- ✓
The build artifact does not include node_modules; the app requires them at runtime.
Why this is correct
The build artifact contains only the dist folder because the pipeline's publish step excluded node_modules, yet the Node.js app needs those dependencies at runtime to load modules. Without node_modules in the artifact, the deployed app cannot find required packages and fails to start, regardless of how the App Service deploy task behaves.
- ✗
The deployment slot's Kudu service fails to sync the dist folder.
Why it's wrong here
The deployment slot's Kudu service successfully syncs the dist folder to the web app, but the artifact itself lacks node_modules, which leads to missing dependency errors. Kudu's sync mechanism is not failing; the root cause is the incomplete artifact content that was published.
Visual reference
Go deeper
Related to this question
Learn chapter
Introduction to DevOps and Azure DevOps
Key term
Pipeline
A pipeline is an automated series of steps that takes code from development to production, ensuring quality and speed.
Key term
Build artifact
A build artifact is the packaged, deployable output created by a build process, such as a compiled binary, ZIP file, or container image, that is stored for later use in testing or release.
About these practice questions
Courseiva writes every AZ-400 question from scratch — 823 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-400 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-400 exam.