Eric van Wijk

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: Image task deprecation message

Here is the list of tasks that are deprecated and will be retired:

TaskDeprecated sinceGuidance
ApacheJMeterLoadTest@1June 4, 2019Consider using the AzureLoadTest@1 task
AppCenterDistribute@1November 14, 2022Use the AppCenterDistribute@3 task
AppCenterDistribute@2November 14, 2022Use the AppCenterDistribute@3 task
AzureMonitor@0July 8, 2020Use the AzureMonitor@1 task. See migration of classic alert rules.
Chef@1March 5, 2018To continue to use Chef, use the Chef CLI directly from a bash, pwsh or script task. See Chef CLI.
ChefKnife@1March 5, 2018To continue to use Chef Knife, use the Knife client directly from a bash, pwsh or script task. See Knife client.
CloudLoadTest@1June 4, 2019Consider using the AzureLoadTest@1 task
CondaEnvironment@1Feb 13, 2019Use the Conda CLI (‘conda’) directly from a bash, pwsh or script task.
DeployVisualStudioTestAgent@2Jan 10, 2018Use the VSTest@2 task instead.
DotNetCoreInstaller@1Aug 22, 2019Use the UseDotNet@2 task instead.
DownloadPackage@0July 20, 2023Use the DownloadPackage@1 task
IISWebAppDeployment@1Oct 5, 2018Use the IIS Web App Deployment Using WinRM extension instead.
NuGet@0June 15, 2017Use the NuGetCommand@2 task instead
NuGetInstaller@0July 20, 2023Use the NuGetCommand@2 task instead
NuGetPackager@0June 15, 2017Use the NuGetCommand@2 task with the pack command instead
NuGetPublisher@0June 15, 2017Use the NuGetCommand@2 task with the push command instead
NuGetRestore@1Aug 8, 2023Use the NuGetCommand@2 task with the restore command instead
QuickPerfTest@1June 4, 2019Consider using the AzureLoadTest@1 task
SqlServerDacpacDeployment@1Oct 5, 2018For SQL Server, use the IIS Web App Deployment Using WinRM extension instead. For Azure SQL Database use the SqlAzureDacpacDeployment@1 task.
XamarinTestCloud@1Jan 11, 2018Use 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:

Image image 2

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.

Image image 3

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.

Resources