Azure Pipelines includes around 150 build & release tasks as well as many more task extensions. Various included tasks have multiple (major) versions bringing the total to over included 200 tasks.
Some of these tasks have been deprecated for some time, as newer tasks have replaced them. Deprecation means the task is still supported, before it is retired. In this blog post we’ll communicate what will happen as deprecated tasks retire.
What tasks can I no longer use?
In November we announced deprecated tasks will be retired after January 31st. If you are using some of the tasks listed below, please update your pipelines e.g. to use the suggested alternative. To help pipeline authors identify pipelines that use deprecated tasks, these tasks emit warnings that include guidance on how to replace the task. This is an example for the DotNetCoreInstaller@1 task:
Here is the list of tasks that are deprecated and will be retired:
Task | Deprecated since | Guidance |
---|---|---|
ApacheJMeterLoadTest@1 | June 4, 2019 | Consider using the AzureLoadTest@1 task |
AppCenterDistribute@1 | November 14, 2022 | Use the AppCenterDistribute@3 task |
AppCenterDistribute@2 | November 14, 2022 | Use the AppCenterDistribute@3 task |
AzureMonitor@0 | July 8, 2020 | Use the AzureMonitor@1 task. See migration of classic alert rules. |
Chef@1 | March 5, 2018 | To continue to use Chef, use the Chef CLI directly from a bash, pwsh or script task. See Chef CLI. |
ChefKnife@1 | March 5, 2018 | To continue to use Chef Knife, use the Knife client directly from a bash, pwsh or script task. See Knife client. |
CloudLoadTest@1 | June 4, 2019 | Consider using the AzureLoadTest@1 task |
CondaEnvironment@1 | Feb 13, 2019 | Use the Conda CLI (‘conda’) directly from a bash, pwsh or script task. |
DeployVisualStudioTestAgent@2 | Jan 10, 2018 | Use the VSTest@2 task instead. |
DotNetCoreInstaller@1 | Aug 22, 2019 | Use the UseDotNet@2 task instead. |
DownloadPackage@0 | July 20, 2023 | Use the DownloadPackage@1 task |
IISWebAppDeployment@1 | Oct 5, 2018 | Use the IIS Web App Deployment Using WinRM extension instead. |
NuGet@0 | June 15, 2017 | Use the NuGetCommand@2 task instead |
NuGetInstaller@0 | July 20, 2023 | Use the NuGetCommand@2 or NuGetToolInstaller@1 tasks instead, see Migrate from NuGetInstaller@0 or NuGetRestore@1 |
NuGetPackager@0 | June 15, 2017 | Use the NuGetCommand@2 task with the pack command instead |
NuGetPublisher@0 | June 15, 2017 | Use the NuGetCommand@2 task with the push command instead |
NuGetRestore@1 | Aug 8, 2023 | Use the NuGetCommand@2 task with the restore command instead, see Migrate from NuGetInstaller@0 or NuGetRestore@1 |
QuickPerfTest@1 | June 4, 2019 | Consider using the AzureLoadTest@1 task |
SqlServerDacpacDeployment@1 | Oct 5, 2018 | For SQL Server, use the IIS Web App Deployment Using WinRM extension instead. For Azure SQL Database use the SqlAzureDacpacDeployment@1 task. |
XamarinTestCloud@1 | Jan 11, 2018 | Use the AppCenterDistribute@3 task |
What will happen after the retirement date?
To help pipeline authors identify pipelines in Azure DevOps Service that use one of the deprecated tasks listed above, we will temporarily fail tasks according to the following schedule:
- Tuesday February 20
- Thursday February 22
- Monday February 26
- Friday March 1 to Monday March 4
- Wednesday March 6
- Friday March 8
- Tuesday March 12 to Wednesday March 13
- Friday March 15 onwards
During this schedule, tasks will execute their normal functionality but report an error:
The recommended action is to follow the guidance shown in the error message or otherwise update the pipeline to no longer use the deprecated task. To prevent the error temporarily without replacing the task, set the continueOnError
step property to true
:
- task: DotNetCoreInstaller@1
continueOnError: true
inputs:
packageType: 'sdk'
version: '3.1.x'
This will execute the tasks functionality without failing and continue the pipeline. Note any other errors will also be suppressed. To prevent ignoring legitimate issues, replace the task with its recommended alternative listed above instead.
In a future update to Azure DevOps Server we will also retire the tasks listed above.
Frequently Asked Questions
- Q: What will happen if I don’t do anything?
A: Tasks will permanently fail in Azure DevOps Service after March 15, and in a future update to Azure DevOps Server. - Q: I’m using Azure DevOps Server
A: We will announce retirement from Azure DevOps Server separately. - Q: We have many pipelines. How can pipeline owners be made aware?
A: During the brownout schedule above failing tasks and pipelines let pipeline owners pinpoint pipelines using soon to be retired tasks. - Q: I’m using the DownloadPackage@0/NuGetInstaller@0/NuGetRestore@1 task and it is failing. A: These tasks follow an accelerated retirement schedule, see announcement.
Hi Eric,
is there a way/tool/suggestion to generate a list with all pipelines that are using the deprecated tasks?
Thanks
We did get e-mail about this on Monday 2/19. Although the above suggests that these tasks would fail on Tuesday 2/20, they did not? I also see there are deprecation warnings in the logs.
Hi Jerry. The failures roll out and are not enabled for every customers at exactly the same time.
Is there not a better way to inform users than to selectively fail these tasks during a specific window? Not everyone runs all their pipelines particularly frequently. Likewise, not everyone reads these blogs regularly – I just came across this by chance this morning, for example.
It would be great if there was an in-app notification or similar, for example, informing users of this change when we’re actually using DevOps, for example.