Author : HASSAN MD TAREQ | Updated : 2021/04/22
What is DevOps?
- DevOps is a set of cultural practices related software development
- Details: /explain/devops
What is Azure DevOps?
- Azure DevOps is a SaaS Agile/Build and Release tool for Software Developers and DevOps Engineers enabling automation of the build and deployment of code
- Azure DevOps (Azure DevOps Services and Azure DevOps Server) are the new releases of Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) respectively
- Azure DevOps comprises a range of services covering the full development life-cycle and enables DevOps capabilities
Types of Azure DevOps
- DevOps Server: Azure DevOps Server is a Microsoft product that covers the entire application lifecycle, and enables DevOps capabilities, on-premises offering
- DevOps Service: Cloud hosted verson of Azure DevOps Server managed by Microsoft
Components of Azure DevOps
- Boards: Kanban board, Scrum tool
- Repos: Cloud-hosted private Git repository
- Pipelines: CI/CD pipelines
- Artifacts: Create, host, and share packages
- Test Plans: Test and ship with confidence using manual and exploratory testing tools
Organization
Details: Azure DevOps organization
Project
Details: Azure DevOps project
Boards
Details: Azure DevOps boards
Repos
Details: Azure DevOps repos
Pipelines
- A DevOps pipeline is a set of automated processes and tools that allows developers (Dev) and operations professionals (Ops) to collaborate on:
- Merge, build and test code
- Produce artifacts
- Deploy artifacts to target environments
- A pipeline is one or more stages that describe a CI/CD process
- A pipeline can deploy to one or more environments
- Pipelines automatically builds and tests code projects to make them available to others
- Types of pipeline: There 2 types of pipelines
- YAML pipeline
- Classic Pipeline : UI based (might be deprecated in favor of YAML)
- See: YAML pipeline
Test Plans
Details: Azure DevOps test plans
Artifacts
- An artifact is a collection of files or packages published by a run
- Artifacts are made available to subsequent tasks i.e deployment (release pipeline)
- Details: Azure DevOps artifacts
Agent Pool and Agent
- An agent is computing infrastructure with installed agent software that runs one job at a time
- Instead of managing each agent individually, agents are organizied into agent pools
- In Azure Pipelines, pools are scoped to the entire organization (so that agent machines can be shared across projects)
- An agent is registered with a single pool
- When a pipeline is created, which pool the pipeline will use must be specified
Pipeline Agent
- Underlaying VM that executes the pipeline job (workload)
- Types of Agent:
- Microsoft Hosted
- Microsoft-hosted agents that run Windows and Linux images are provisioned on Azure general purpose virtual machines
- Maintenance and upgrades are taken care of for you
- Each time you run a pipeline, you get a fresh virtual machine. The virtual machine is discarded after one use
- Microsoft-hosted agents can run jobs directly on the VM or in a container
- Azure Pipelines provides a pre-defined agent pool named Azure Pipelines with Microsoft-hosted agents
- See: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops
- Self Hosted: An agent that you set up and manage on your own to run jobs
- Microsoft Hosted
- Links: