Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Svarīgi
Starting with Azure DevOps Server 2019, you do not have to pay for self-hosted concurrent jobs in releases. You are only limited by the number of agents that you have.
Learn how to estimate how many parallel jobs you need and buy more parallel jobs for your organization.
Piezīme
We have temporarily disabled the free grant of parallel jobs for public projects and for certain private projects in new organizations. However, you can request this grant by submitting a request. Existing organizations and projects are not affected. It can take several business days to process your free tier requests. During certain time periods, processing times may be longer.
What is a parallel job?
When you define a pipeline, you can define it as a collection of jobs. When a pipeline runs, you can run multiple jobs as part of that pipeline. Each running job consumes a parallel job that runs on an agent. When there aren't enough parallel jobs available for your organization, the jobs are queued up and run one after the other.
In Azure Pipelines, you can run parallel jobs on Microsoft-hosted infrastructure or your own (self-hosted) infrastructure. Each parallel job allows you to run a single job at a time in your organization. You don't need to pay for parallel jobs if you're using an on-premises server. The concept of parallel jobs only applies to Azure DevOps Services.
Microsoft-hosted vs. self-hosted parallel jobs
If you want to run your jobs on machines that Microsoft manages, use Microsoft-hosted parallel jobs. Your jobs will run on Microsoft-hosted agents.
If you want Azure Pipelines to orchestrate your builds and releases, but use your own machines to run them, use self-hosted parallel jobs. For self-hosted parallel jobs, you'll start by deploying our self-hosted agents on your machines. You can register any number of these self-hosted agents in your organization.
How much do parallel jobs cost?
We provide a free tier of service by default in every organization for both hosted and self-hosted parallel jobs.
Parallel jobs are purchased at the organization level, and they're shared by all projects in an organization.
For Microsoft-hosted parallel jobs, you can get up to 10 free Microsoft-hosted parallel jobs that can run for up to 360 minutes (6 hours) each time for public projects. When you create a new Azure DevOps organization, you aren't given this free grant by default.
For private projects, you can get one free job that can run for up to 60 minutes each time. When you create a new Azure DevOps organization, you may not always be given this free grant by default.
To request the free grant for public or private projects, submit a request.
Piezīme
It can take several business days to process your free tier request. During certain time periods, processing times may be longer.
There's no time limit on parallel jobs for public projects and a 30 hour time limit per month for private projects.
Number of parallel jobs
Time limit
Public project
Up to 10 free Microsoft-hosted parallel jobs that can run for up to 360 minutes (6 hours) each time
No overall time limit per month
Private project
One free job that can run for up to 60 minutes each time
1,800 minutes (30 hours) per month
When the free tier is no longer sufficient, you can pay for additional capacity per parallel job. For pricing cost per parallel job, see the Azure DevOps pricing page. Paid parallel jobs remove the monthly time limit and allow you to run each job for up to 360 minutes (6 hours).
New organizations have a maximum limit of 25 parallel jobs for Microsoft-hosted agents. Contact support to request a limit increase, subject to capacity in your organization's region.
When you purchase your first Microsoft-hosted parallel job, the number of parallel jobs you have in the organization is still one. To be able to run two jobs concurrently, you'll need to purchase two parallel jobs if you're currently on the free tier. The first purchase only removes the time limits on the first job.
Padoms
If your pipeline exceeds the maximum job timeout, try splitting your pipeline
into multiple jobs. For more information on jobs, see
Specify jobs in your pipeline.
For self-hosted parallel jobs, you can register any number of self-hosted agents in your organization. We charge based on the number of jobs you want to run at a time, not the number of agents registered. There are no time limits on self-hosted jobs.
For public projects that are self-hosted, you can have unlimited parallel jobs running. For private projects, you can have one job and one additional job for each active Visual Studio Enterprise subscriber who is a member of your organization.
Number of parallel jobs
Time limit
Public project
Unlimited
None
Private project
One self-hosted job; For each active Visual Studio Enterprise subscriber who is a member of your organization, you get one additional self-hosted parallel job.
None
When the free tier is no longer sufficient for your self-hosted private project, you can purchase more additional capacity per parallel job. For pricing cost per parallel job, see the Azure DevOps pricing page.
As the number of queued builds and releases exceeds the number of parallel jobs you have, your build and release queues grow longer. When you find the queue delays are too long, you can purchase additional parallel jobs as needed. There are several methods you can use to check your parallel job limits and job history.
View job history using the pool consumption report
You can use the Pool consumption report, available on the Analytics tab of your agent pool, to see a chart of running and queued jobs graphed with your parallel jobs for the previous 30 days. If you have a backlog of queued jobs and your running jobs are at the concurrency limit, you may wish to purchase more parallel jobs. For more information, see Pool consumption report.
Check the parallel jobs setting directly
Figure out how many parallel jobs you need by first seeing how many parallel jobs your organization currently uses:
Browse to Organization settings > Pipelines > Parallel jobs.
View the maximum number of parallel jobs that are available in your organization.
Select View in-progress jobs to display all the builds and releases that are actively consuming an available parallel job or that are queued waiting for a parallel job to be available.
Estimate costs
A simple rule of thumb: Estimate that you'll need one parallel job for every four to five users in your organization.
In the following scenarios, you might need multiple parallel jobs:
If you have multiple teams, and if each of them require CI, you'll likely need a parallel job for each team.
If your CI trigger applies to multiple branches, you'll likely need a parallel job for each active branch.
If you develop multiple applications by using one organization or server, you'll likely need additional parallel jobs: one to deploy each application at the same time.
How do I change the quantity of parallel jobs for my organization?
Sign in to your organization (https://dev.azure.com/{yourorganization}).
Select Organization settings.
Select Parallel jobs under Pipelines, and then select either Purchase parallel jobs or Change for Microsoft-hosted jobs or Change for self-hosted jobs.
Enter a lesser or greater quantity of Microsoft-hosted or self-hosted jobs, and then select Save.
It may take up to 30 minutes for the new number of parallel jobs to become active.
How is a parallel job consumed in DevOps Services?
Consider an organization that has only one Microsoft-hosted parallel job. This job allows users in that organization to collectively run only one job at a time. When additional jobs are triggered, they're queued and will wait for the previous job to finish.
If you use release or YAML pipelines, then a run consumes a parallel job only when it's being actively deployed to a stage. While the release is waiting for an approval or a manual intervention, it doesn't consume a parallel job.
When you run a server job or deploy to a deployment group using release pipelines, you don't consume any parallel jobs.
FabrikamFiber CI Build 102 (main branch) starts first.
Deployment of FabrikamFiber Release 11 gets triggered by completion of FabrikamFiber CI Build 102.
FabrikamFiber CI Build 101 (feature branch) is triggered. The build can't start yet because Release 11's deployment is active. So the build stays queued.
Release 11 waits for approvals. Fabrikam CI Build 101 starts because a release that's waiting for approvals doesn't consume a parallel job.
Release 11 is approved. It resumes only after Fabrikam CI Build 101 is completed.
FAQ
How do I qualify for the free tier of public projects?
You qualify for the free tier limits for public projects if you meet both of these conditions:
Your pipeline is part of an Azure Pipelines public project.
Your pipeline builds a public repository from GitHub or from the same public project in your Azure DevOps organization.
Can I assign a parallel job to a specific project or agent pool?
Currently, there isn't a way to partition or dedicate parallel job capacity to a specific project or agent pool. For example:
You purchase two parallel jobs in your organization.
You start two runs in the first project, and both the parallel jobs are consumed.
You start a run in the second project. That run won't start until one of the runs in your first project is completed.
Are there limits on who can use Azure Pipelines?
You can have as many users as you want when you're using Azure Pipelines. There's no per-user charge for using Azure Pipelines. Users with both basic and stakeholder access can author as many builds and releases as they want.
Are there any limits on the number of builds and release pipelines that I can create?
No. You can create hundreds or even thousands of pipelines for no charge. You can register any number of self-hosted agents for no charge.
As a Visual Studio Enterprise subscriber, do I get additional parallel jobs for TFS and Azure Pipelines?
What about the option to pay for hosted agents by the minute?
Some of our earlier customers are still on a per-minute plan for the hosted agents. In this plan, you pay $0.05/minute for the first 20 hours after the free tier, and $0.01/minute after 20 hours. Because of the following limitations in this plan, you might want to consider moving to the parallel jobs model:
When you're using the per-minute plan, you can run only one job at a time.
If you run builds for more than 14 paid hours in a month, the per-minute plan might be less cost-effective than the parallel jobs model.
I use XAML build controllers with my organization. How am I charged for those?
You can register one XAML build controller for each self-hosted parallel job in your organization.
Your organization gets at least one free self-hosted parallel job, so you can register one XAML build controller for no additional charge.
For each additional XAML build controller, you'll need an additional self-hosted parallel job.
Pievienojieties meetup sērijai, lai kopā ar citiem izstrādātājiem un ekspertiem izveidotu mērogojamus AI risinājumus, kuru pamatā ir reālas lietošanas gadījumi.