Azure DevOps is a collection of services provided by Microsoft that allows developers to build, test, and deploy software.
It includes features such as Git and TFVC source control, agile project management, continuous integration and continuous deployment (CI/CD), and more.
Azure DevOps can be used to support both cloud and on-premises applications, and it integrates with a variety of other tools and services.
It is part of the Azure platform and can be used in combination with other Azure services like Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans and Azure Artifacts to support end-to-end DevOps practices.
Pillars (5 Services) of Azure DevOps
Azure DevOps is a collection of services that can be used to support the entire software development lifecycle. The main services offered by Azure DevOps include:
Azure Boards: A service for tracking and managing work items, such as user stories, tasks, and bugs. It includes features for agile project management, such as Kanban boards and sprint planning.
Azure Repos: A service for source control management, which includes support for both Git and TFVC. It provides features such as pull requests, code reviews, and branch policies.
Azure Pipeline: A service for continuous integration and continuous deployment (CI/CD). It allows teams to automate the build, test, and deployment of code.
Azure Artifacts: A service for managing packages and dependencies. It allows teams to create, share, and consume packages across different projects and environments.
Azure Test Plans: A service for testing and quality assurance. It includes features such as manual testing, automated testing, continuous testing, and test case management.
1. key terms used in Azure Boards
Azure Boards is a service within Azure DevOps that provides features for tracking and managing work items, such as user stories, tasks, and bugs. It includes features for agile project management, such as Kanban boards and sprint planning. The following are some key terms used in Azure Boards:
Work Item: A tracking mechanism to document and manage work that needs to be done, such as user stories, tasks, and bugs.
Sprint: A time-boxed iteration of work in an Agile development process.
Backlog: A prioritized list of work items that need to be completed in a project.
Kanban Board: A visual system for managing and prioritizing work items, typically used in an Agile development process.
Swim Lane: A horizontal section of a Kanban board that represents a specific stage of a workflow.
Query: A searchable list of work items that match specific criteria.
Dashboard: A customizable collection of widgets that provide an overview of the status and progress of a project.
Epic: A high-level work item that represents a large piece of work that can be broken down into smaller user stories.
User Story: A work item that represents a small piece of functionality that is valuable to a user.
Task: A work item that represents a specific piece of work that needs to be done to complete a user story or bug.
Bug: A work item that represents an issue or defect that needs to be fixed.
Parent-Child relation: A relation between two work items where one item is the parent and the other is a child.
Area Path: A hierarchical structure used to organize work items in a project.
Iteration Path: A hierarchical structure used to organize work items by sprints or iterations.
State: The current status of a work item, e.g. active, closed, resolved.
Assigned To: The team member responsible for completing a work item.
Tags: A label that can be added to work items to categorize them or to help with filtering and querying.
2. key terms used in Azure Repos
Azure Repos is a service within Azure DevOps that provides features for source control management, including support for both Git and TFVC. The following are some key terms used in Azure Repos:
Repository: A place where developers can store and manage their source code.
Branch: A way to separate different versions of source code within a repository.
Merge: The process of combining changes made in one branch with another branch.
Pull request: A feature that allows developers to submit changes to a repository for review by other team members before they are merged into the main branch.
Commit: A snapshot of the source code at a specific point in time.
Push: The process of uploading local changes to a remote repository.
Pull: The process of downloading changes from a remote repository to a local repository.
Conflict: A situation that occurs when changes made to the same file in different branches cannot be automatically merged.
Git: A distributed version control system.
TFVC: Team Foundation Version Control, a centralized version control system.
GitFlow: A popular branching model for Git repositories.
Master Branch: The main branch where the source code is considered stable and ready for release.
Feature Branch: A branch created to work on a specific feature or bug fix.
Release Branch: A branch created to prepare for a release, where only bug fixes and minor adjustments are made.
Pull Request Policies: a set of rules that must be followed before a pull request can be completed.
Code Reviews: The process of reviewing and approving code changes before they are merged into the main branch.
Code History: The history of changes made to the source code over time, including who made the changes and when.
3. key terms used in Azure Pipelines
Azure Pipelines is a service within Azure DevOps that provides features for continuous integration and continuous deployment (CI/CD). The following are some key terms used in Azure Pipelines:
Pipeline: The process of automating the build, test, and deployment of code.
Build: The process of compiling and testing code.
Release: The process of deploying code to different environments.
Agent: A software that runs on a machine and is used to perform tasks, such as building or deploying code.
Task: A specific step in a pipeline that performs a specific action, such as compiling code or running tests.
Job: A collection of tasks that are executed together.
Trigger: A condition that causes a pipeline to run automatically.
YAML: A markup language used to define pipelines in Azure DevOps.
Artifacts: files produced and consumed by a pipeline, e.g. build output, test results, etc.
Environments: different stages of a pipeline, e.g. development, staging, production.
Deployment: The process of making code changes live in a production environment.
Continuous Integration (CI): The practice of integrating code changes frequently and automatically.
Continuous Deployment (CD): The practice of automatically deploying code changes to different environments as soon as they are integrated.
Deployment Gates: Quality gates that must be passed before a release is promoted to the next environment
Deployment Approvals: Approval process that must be passed before a release is deployed to a specific environment
Deployment Strategies: Method used to deploy software to different environments, such as blue-green deployment or canary deployment.
Deployment condition: a set of rules that must be met before a deployment can proceed to the next stage.
4. key terms used in Azure Test Plans
Azure Test Plans is a service within Azure DevOps that provides features for testing and quality assurance. The following are some key terms used in Azure Test Plans:
Test Plan: A collection of test cases and test suites that are used to test a specific product or feature.
Test Suite: A collection of test cases that are related to a specific feature or scenario.
Test Case: A set of steps and expected results that are used to test a specific feature or scenario.
Test Run: The execution of a set of test cases.
Test Configuration: A set of settings that define the environment and conditions in which a test is run.
Test Results: The outcome of a test run, including whether the test passed or failed and any associated data.
Test Management: The process of creating, executing, and tracking the results of tests.
Manual Testing: Testing that is performed manually by a human tester.
Automated Testing: Testing that is performed using automated scripts or tools.
Continuous Testing: The practice of testing code changes as soon as they are committed.
Test Case Management: The process of creating, organizing, and tracking the results of test cases.
Test Plan Configuration: Settings that can be used to customize a Test plan, such as area and iteration paths, and test suites
Test Case Workflow: A set of states that a test case goes through, such as active, passed, failed.
Test Case Priority: A value that indicates the importance of a test case.
Test Case Automation Status: Indicates whether a test case is automated or manual.
Test Case Steps: A set of instructions that describes how to perform a test case.
Test Plan Requirements: A set of requirements that a test plan must meet to be considered complete.
5. key terms used in Azure Artifacts
Azure Artifacts is a service within Azure DevOps that provides features for managing packages and dependencies. The following are some key terms used in Azure Artifacts:
Package: A collection of files or dependencies that can be used to distribute software.
Feed: A container for packages, similar to a package repository.
Nuget: A package manager for the Microsoft development platform, used to create and consume packages.
Maven: A package manager for Java development, used to create and consume packages.
npm: A package manager for JavaScript development, used to create and consume packages.
Dependency: A package that another package relies on to function.
Package Management: The process of creating, publishing, and consuming packages.
Versioning: The practice of assigning a version number to a package.
Upstream: The source of a package, such as a public repository or an internal feed.
Downstream: The consumer of a package, such as an application or another package.
Package Promotion: The process of moving a package from one feed to another, such as from a development feed to a production feed.
Package Retention: A set of rules that control how long packages are kept before they are deleted.
Package security: security checks and controls applied to packages
Symbol Server: A feature that allows you to store and retrieve debugging symbols for your builds
Package Management UI: a web interface that allows you to manage packages and feeds
Package Management API: an API that allows you to automate package management tasks
Proxies: a way to access packages from behind a firewall