Bird
Raised Fist0
Azurecloud~20 mins

Azure Pipelines overview - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Azure Pipelines Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
What happens when a pipeline triggers on a pull request?

In Azure Pipelines, what is the typical behavior when a pipeline is configured to trigger on a pull request?

AThe pipeline only runs after the pull request is merged.
BThe pipeline waits for manual approval before starting.
CThe pipeline sends an email but does not run any jobs.
DThe pipeline runs automatically to validate the changes before merging.
Attempts:
2 left
💡 Hint

Think about how pipelines help keep code quality before merging.

❓ Architecture
intermediate
2:00remaining
Which component is responsible for running jobs in Azure Pipelines?

In Azure Pipelines architecture, which component actually executes the build or deployment jobs?

AAzure DevOps Server
BRepository
CAgent
DPipeline YAML file
Attempts:
2 left
💡 Hint

Consider what runs the commands defined in the pipeline.

❓ security
advanced
2:00remaining
How to securely store secrets in Azure Pipelines?

Which method is the best practice to securely store and use secrets like passwords or tokens in Azure Pipelines?

AUse Azure Key Vault and link it to the pipeline.
BCommit secrets in the source code repository with encryption.
CStore secrets directly in the pipeline YAML file as plain text.
DSend secrets via email to the build agent before running.
Attempts:
2 left
💡 Hint

Think about centralized secret management services.

✅ Best Practice
advanced
2:00remaining
What is a recommended practice for pipeline YAML files in large projects?

For large projects with multiple teams, what is a recommended practice regarding pipeline YAML files?

AUse templates to reuse common pipeline steps across multiple YAML files.
BKeep all pipeline YAML definitions in a single file at the root of the repo.
CWrite pipeline YAML files manually for each job without reuse.
DStore pipeline YAML files outside the source code repository.
Attempts:
2 left
💡 Hint

Think about avoiding repetition and managing complexity.

🧠 Conceptual
expert
2:00remaining
What is the effect of setting 'trigger: none' in a pipeline YAML?

In an Azure Pipeline YAML file, what happens if you set trigger: none?

Azure
trigger: none
AThe pipeline will run on every commit automatically.
BThe pipeline will not run automatically on any code changes.
CThe pipeline will only run on pull request creation.
DThe pipeline will fail to start due to invalid syntax.
Attempts:
2 left
💡 Hint

Consider what disabling triggers means for automation.

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