📖 Scenario: You are working as a DevOps engineer for a small web application team. Your team wants to deploy their app to Azure App Service using three common deployment methods: Git deployment, ZIP deployment, and a simple CI/CD pipeline.This project will guide you step-by-step to set up these deployment methods using Azure CLI commands and configuration variables.
🎯 Goal: Build a small Azure deployment script that sets up deployment using Git, ZIP, and a CI/CD pipeline configuration variable. You will create variables for app name and resource group, configure deployment methods, and print the final deployment method chosen.
📋 What You'll Learn
Create variables for Azure App Service name and resource group
Add a configuration variable for deployment method
Write commands to deploy using Git and ZIP methods based on the configuration
Print the chosen deployment method
💡 Why This Matters
🌍 Real World
Deploying web applications to Azure App Service is a common task in cloud DevOps. Knowing how to configure deployment methods like Git and ZIP helps automate releases.
💼 Career
This project teaches foundational skills for Azure DevOps engineers and cloud developers who manage app deployments and continuous integration pipelines.
Progress0 / 4 steps
1
Create Azure App Service variables
Create two variables: app_name with value mywebapp and resource_group with value myResourceGroup.
Azure
Hint
Use simple assignment statements to create the variables with the exact names and values.
2
Add deployment method configuration
Add a variable called deployment_method and set it to git to specify the deployment method.
Azure
Hint
Use a string variable named deployment_method and assign it the value "git".
3
Write deployment commands based on method
Write an if statement that checks if deployment_method is git. If yes, write the Azure CLI command to deploy using Git: az webapp deployment source config-local-git --name mywebapp --resource-group myResourceGroup. Otherwise, if deployment_method is zip, write the Azure CLI command to deploy using ZIP: az webapp deployment source config-zip --name mywebapp --resource-group myResourceGroup --src app.zip.
Azure
Hint
Use an if-elif statement to check the deployment_method variable and print the corresponding Azure CLI command using f-strings.
4
Print the chosen deployment method
Write a print statement that outputs: "Deployment method chosen: git" if deployment_method is git, or "Deployment method chosen: zip" if it is zip.
Azure
Hint
Use a print statement with an f-string to show the deployment_method variable value.
Practice
(1/5)
1. Which deployment method in Azure allows you to push your app code directly from your source code repository?
easy
A. Manual file upload
B. ZIP deployment
C. FTP deployment
D. Git deployment
Solution
Step 1: Understand Git deployment
Git deployment connects your Azure app directly to your Git repository, pushing code changes automatically.
Step 2: Compare with other methods
ZIP deployment uploads a packaged file, manual upload and FTP are manual and not direct from repo.
Final Answer:
Git deployment -> Option D
Quick Check:
Direct repo push = Git deployment [OK]
Hint: Git deployment means pushing code from your repo directly [OK]
Common Mistakes:
Confusing ZIP deployment with Git deployment
Thinking FTP is automated from repo
Assuming manual upload is Git-based
2. Which of the following is the correct Azure CLI command to deploy a ZIP package to an Azure Web App named myapp in resource group mygroup?
easy
A. az webapp deploy zip --resource-group mygroup --app-name myapp --file app.zip
B. az webapp deployment source config-zip --resource-group mygroup --name myapp --src app.zip
C. az deployment zip --resource-group mygroup --webapp myapp --package app.zip
D. az webapp deployment upload-zip --resource-group mygroup --name myapp --zip-file app.zip
Solution
Step 1: Identify correct Azure CLI syntax for ZIP deployment
The official command is az webapp deployment source config-zip with parameters for resource group, app name, and source ZIP file.
Step 2: Check options for syntax correctness
az webapp deployment source config-zip --resource-group mygroup --name myapp --src app.zip matches the correct command and parameters exactly; others use incorrect commands or flags.
Final Answer:
az webapp deployment source config-zip --resource-group mygroup --name myapp --src app.zip -> Option B
Quick Check:
Correct CLI command for ZIP deploy = az webapp deployment source config-zip --resource-group mygroup --name myapp --src app.zip [OK]
Hint: Remember 'config-zip' is the key command for ZIP deploy [OK]
Common Mistakes:
Using wrong command verbs like 'deploy' or 'upload-zip'
Mixing parameter names like --app-name vs --name
Forgetting to specify the source ZIP file with --src
3. Given this Azure DevOps pipeline snippet for CI/CD deployment:
What happens when you push code to the main branch?
medium
A. The pipeline triggers and deletes the Azure Web App
B. The pipeline triggers but does not deploy anything
C. The pipeline triggers and deploys the ZIP package to the Azure Web App
D. The pipeline does not trigger on main branch pushes
Solution
Step 1: Analyze the trigger section
The pipeline triggers on pushes to the main branch as specified in the trigger include list.
Step 2: Understand the deployment task
The AzureWebApp@1 task deploys the ZIP package located at the specified path to the Azure Web App named 'myapp'.
Final Answer:
The pipeline triggers and deploys the ZIP package to the Azure Web App -> Option C
Quick Check:
Push to main triggers deploy task = The pipeline triggers and deploys the ZIP package to the Azure Web App [OK]
Hint: Trigger on main means pipeline runs and deploys ZIP package [OK]
Common Mistakes:
Assuming pipeline triggers on other branches
Thinking deployment task does nothing
Confusing deployment with deletion
4. You configured a CI/CD pipeline to deploy your app, but the deployment fails with an authentication error. What is the most likely cause?
medium
A. Incorrect Azure subscription service connection in the pipeline
B. ZIP package file is missing from the build artifacts
C. App name in the pipeline does not match the Azure Web App
D. Pipeline trigger is set to the wrong branch
Solution
Step 1: Identify cause of authentication error
Authentication errors usually mean the pipeline cannot access Azure resources due to wrong or missing service connection credentials.
Step 2: Evaluate other options
Missing ZIP or wrong app name cause deployment errors but not authentication errors; wrong trigger prevents pipeline start.
Final Answer:
Incorrect Azure subscription service connection in the pipeline -> Option A
Quick Check:
Auth error = service connection issue [OK]
Hint: Auth errors usually mean bad Azure service connection [OK]
Common Mistakes:
Blaming missing ZIP for authentication errors
Confusing app name mismatch with auth failure
Assuming trigger issues cause auth errors
5. You want to automate deployment so that when code is pushed to GitHub, it builds, tests, and deploys your app to Azure automatically. Which combination of deployment methods should you use?
hard
A. CI/CD pipeline connected to GitHub with automated build and deploy steps
B. Manual ZIP deployment after pushing code to GitHub
C. FTP deployment triggered by GitHub webhook
D. Git deployment directly from GitHub without build or test
Solution
Step 1: Understand automation needs
Automating build, test, and deploy requires a CI/CD pipeline connected to the source repository.
Step 2: Compare deployment methods
Manual ZIP and FTP are manual or partial automation; Git deployment pushes code but lacks build/test automation.
Final Answer:
CI/CD pipeline connected to GitHub with automated build and deploy steps -> Option A
Quick Check:
Full automation = CI/CD pipeline [OK]
Hint: Full automation needs CI/CD pipeline linked to GitHub [OK]
Common Mistakes:
Thinking Git deployment automates build and test
Assuming FTP can automate deployment fully
Using manual ZIP deploy for automation
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.