Bird
Raised Fist0
Azurecloud~30 mins

Deployment methods (Git, ZIP, CI/CD) in Azure - Mini Project: Build & Apply

Choose your learning style10 modes available
Deployment Methods: Git, ZIP, and CI/CD on Azure
📖 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

  1. Step 1: Understand Git deployment

    Git deployment connects your Azure app directly to your Git repository, pushing code changes automatically.
  2. Step 2: Compare with other methods

    ZIP deployment uploads a packaged file, manual upload and FTP are manual and not direct from repo.
  3. Final Answer:

    Git deployment -> Option D
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    az webapp deployment source config-zip --resource-group mygroup --name myapp --src app.zip -> Option B
  4. 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:
trigger:
  branches:
    include:
      - main

steps:
- task: AzureWebApp@1
  inputs:
    azureSubscription: 'MyAzureSub'
    appName: 'myapp'
    package: '$(System.DefaultWorkingDirectory)/drop/app.zip'

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

  1. Step 1: Analyze the trigger section

    The pipeline triggers on pushes to the main branch as specified in the trigger include list.
  2. 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'.
  3. Final Answer:

    The pipeline triggers and deploys the ZIP package to the Azure Web App -> Option C
  4. 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

  1. 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.
  2. Step 2: Evaluate other options

    Missing ZIP or wrong app name cause deployment errors but not authentication errors; wrong trigger prevents pipeline start.
  3. Final Answer:

    Incorrect Azure subscription service connection in the pipeline -> Option A
  4. 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

  1. Step 1: Understand automation needs

    Automating build, test, and deploy requires a CI/CD pipeline connected to the source repository.
  2. Step 2: Compare deployment methods

    Manual ZIP and FTP are manual or partial automation; Git deployment pushes code but lacks build/test automation.
  3. Final Answer:

    CI/CD pipeline connected to GitHub with automated build and deploy steps -> Option A
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard