Bird
Raised Fist0
Azurecloud~10 mins

Azure Pipelines overview - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a pipeline trigger on the main branch.

Azure
trigger:
  branches:
    include:
      - [1]
Drag options to blanks, or click blank then click option'
Amain
Bfeature
Cdevelop
Drelease
Attempts:
3 left
💡 Hint
Common Mistakes
Using a branch name that does not exist in the repository.
Forgetting to indent the YAML correctly.
2fill in blank
medium

Complete the code to specify the agent pool for the pipeline job.

Azure
pool:
  vmImage: '[1]'
Drag options to blanks, or click blank then click option'
Aubuntu-18.04
Bubuntu-latest
Cwindows-2016
Dmacos-latest
Attempts:
3 left
💡 Hint
Common Mistakes
Using an outdated or unsupported vmImage name.
Choosing a Windows image when the build requires Linux.
3fill in blank
hard

Fix the error in the step to run a script in the pipeline.

Azure
- script: echo Hello, Azure Pipelines!
  displayName: '[1]'
Drag options to blanks, or click blank then click option'
Arun script
BRunScript
CRun Script
Drun_script
Attempts:
3 left
💡 Hint
Common Mistakes
Using variable-like names without spaces for displayName.
Omitting displayName or using invalid characters.
4fill in blank
hard

Fill both blanks to define a job with a name and a step that runs a script.

Azure
jobs:
- job: [1]
  steps:
  - script: echo Build started
    displayName: '[2]'
Drag options to blanks, or click blank then click option'
ABuildJob
BDeployJob
CStart Script
DInitialize
Attempts:
3 left
💡 Hint
Common Mistakes
Using spaces in job names.
Using unclear or generic display names.
5fill in blank
hard

Fill all three blanks to define a pipeline with trigger, pool, and a script step.

Azure
trigger:
  branches:
    include:
      - [1]
pool:
  vmImage: '[2]'
steps:
- script: echo Build running
  displayName: '[3]'
Drag options to blanks, or click blank then click option'
Amain
Bubuntu-latest
CRun Build
Ddevelop
Attempts:
3 left
💡 Hint
Common Mistakes
Triggering on a non-main branch unintentionally.
Using an outdated vmImage.
Using unclear step display names.

Practice

(1/5)
1. What is the main purpose of Azure Pipelines?
easy
A. To automate building, testing, and deploying code
B. To store large amounts of data
C. To create virtual machines
D. To monitor network traffic

Solution

  1. Step 1: Understand Azure Pipelines role

    Azure Pipelines automate the process of building, testing, and deploying code changes.
  2. Step 2: Compare options with purpose

    Options B, C, and D describe other Azure services, not pipelines.
  3. Final Answer:

    To automate building, testing, and deploying code -> Option A
  4. Quick Check:

    Azure Pipelines = automate build/test/deploy [OK]
Hint: Remember pipelines automate code workflows [OK]
Common Mistakes:
  • Confusing pipelines with storage services
  • Thinking pipelines create virtual machines
  • Mixing pipelines with monitoring tools
2. Which file format is commonly used to define Azure Pipelines?
easy
A. .json
B. .txt
C. .xml
D. .yaml

Solution

  1. Step 1: Identify pipeline definition format

    Azure Pipelines use YAML files to define build and deployment steps.
  2. Step 2: Eliminate other formats

    JSON, XML, and TXT are not standard for pipeline definitions in Azure.
  3. Final Answer:

    .yaml -> Option D
  4. Quick Check:

    Pipeline config = YAML file [OK]
Hint: YAML files define pipeline steps clearly [OK]
Common Mistakes:
  • Choosing JSON instead of YAML
  • Confusing XML with pipeline config
  • Thinking plain text files define pipelines
3. Given this YAML snippet in an Azure Pipeline:
trigger:
  branches:
    include:
      - main

steps:
- script: echo Hello, world!

What happens when you push code to the main branch?
medium
A. The pipeline fails due to syntax error
B. The pipeline ignores the push
C. The pipeline runs and prints 'Hello, world!'
D. The pipeline runs but does nothing

Solution

  1. Step 1: Understand trigger configuration

    The pipeline triggers on pushes to the 'main' branch as specified.
  2. Step 2: Analyze steps section

    The single step runs a script that echoes 'Hello, world!'.
  3. Final Answer:

    The pipeline runs and prints 'Hello, world!' -> Option C
  4. Quick Check:

    Trigger on main runs echo script [OK]
Hint: Trigger on branch runs defined script [OK]
Common Mistakes:
  • Assuming pipeline ignores main branch
  • Thinking pipeline does nothing on trigger
  • Believing syntax error exists in snippet
4. You wrote this YAML for Azure Pipelines but it never triggers:
trigger:
  branches:
    exclude:
      - main

steps:
- script: echo Build started

What is the likely problem?
medium
A. The pipeline excludes the main branch, so pushes to main don't trigger it
B. The script syntax is incorrect
C. The trigger keyword is misspelled
D. The pipeline requires a separate build agent

Solution

  1. Step 1: Review trigger exclude setting

    The pipeline excludes the 'main' branch, so pushes to 'main' won't start it.
  2. Step 2: Check other parts

    The script syntax and trigger keyword are correct; no build agent issue is indicated.
  3. Final Answer:

    The pipeline excludes the main branch, so pushes to main don't trigger it -> Option A
  4. Quick Check:

    Exclude main branch stops trigger [OK]
Hint: Exclude means branch won't trigger pipeline [OK]
Common Mistakes:
  • Thinking script syntax is wrong
  • Assuming trigger keyword typo
  • Believing build agent is missing
5. You want to run tests only when code is pushed to the develop branch and deploy only when code is pushed to main. How should you configure triggers in your Azure Pipelines YAML?
hard
A. Use a single pipeline triggered on both branches and run all steps always
B. Use two separate pipelines: one triggered on 'develop' for tests, another on 'main' for deploy
C. Trigger only on 'main' and manually run tests
D. Trigger only on 'develop' and deploy manually

Solution

  1. Step 1: Understand branch-specific triggers

    Running tests and deploy on different branches requires separate triggers.
  2. Step 2: Choose pipeline structure

    Two pipelines allow independent triggers and steps per branch, matching requirements.
  3. Step 3: Evaluate other options

    Single pipeline running all steps always doesn't separate concerns; manual runs reduce automation benefits.
  4. Final Answer:

    Use two separate pipelines: one triggered on 'develop' for tests, another on 'main' for deploy -> Option B
  5. Quick Check:

    Separate pipelines for branch-specific tasks [OK]
Hint: Separate pipelines for different branch tasks [OK]
Common Mistakes:
  • Using one pipeline for all branches without conditions
  • Triggering only on main and skipping tests automation
  • Triggering only on develop and missing deploy automation