Build and release tasks

TFS 2017 | TFS 2015

Note

In Microsoft Team Foundation Server (TFS) 2018 and previous versions, build and release pipelines are called definitions, runs are called builds, service connections are called service endpoints, stages are called environments, and jobs are called phases.

This article provides an index of built-in tasks. To learn more about tasks, including creating custom tasks, custom extensions, and finding tasks on the Visual Studio Marketplace, see Tasks concepts.

Build

Task Versions
.NET Core CLI task - Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet. Azure Pipelines, TFS 2017 and newer
Android build task (deprecated; use Gradle) - Android build and release task Azure Pipelines, TFS 2015 RTM and newer
Android signing build and release task - Android signing build and release task Azure Pipelines, TFS 2015 RTM and newer
Ant build and release task - Learn how to build with Apache Ant Azure Pipelines, TFS 2015 RTM and newer
Azure IoT Edge task - Build, test, and deploy applications quickly and efficiently to Azure IoT Edge Azure Pipelines
CMake build and release task - CMake build and release task Azure Pipelines, TFS 2015 RTM and newer
Docker Compose task - Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. Azure Pipelines, Azure DevOps Server 2019
Docker task - Build and push Docker images to any container registry using Docker registry service connection Azure Pipelines, TFS 2018 and newer
Go task - Get, build, test a go application, or run a custom go command. Azure Pipelines
Gradle build and release task - Gradle build and release task Azure Pipelines, TFS 2015 RTM and newer
Grunt build and release task - Grunt build and release task Azure Pipelines, TFS 2015.3 and newer
Gulp build and release task - Gulp build and release task Azure Pipelines, TFS 2015 RTM and newer
Index Sources & Publish Symbols - Index Sources & Publish Symbols build and release task Azure Pipelines, TFS 2015 RTM and newer
Jenkins Queue Job build and release task - Queue a job on a Jenkins server build and release task Azure Pipelines, TFS 2017 and newer
Maven build and release task - Maven build and release task Azure Pipelines, TFS 2015 RTM and newer
MSBuild build and release task - MSBuild build and release task Azure Pipelines, TFS 2015 RTM and newer
SonarQube - Prepare Analysis Configuration - Configure all the required settings before executing the build Azure Pipelines, TFS 2015.3 and newer
SonarQube - Publish Quality Gate Result - Display the Quality Gate status in the build summary Azure Pipelines, TFS 2015.3 and newer
SonarQube - Run Code Analysis - Run the analysis of the source code Azure Pipelines, TFS 2015.3 and newer
Visual Studio Build build and release task - Visual Studio Build build and release task Azure Pipelines, TFS 2015 RTM and newer
Xamarin.Android build and release task - Xamarin.Android build and release task Azure Pipelines, TFS 2015 RTM and newer
Xamarin.iOS build and release task - Xamarin.iOS build and release task Azure Pipelines, TFS 2015 RTM and newer
Xcode build and release task - Xcode build and release task Azure Pipelines
Xcode Build build and release task - Xcode Build build and release task TFS 2015, TFS 2017, TFS 2018
Xcode Package iOS build and release task - Xcode Package iOS build and release task Azure Pipelines, TFS 2015 RTM and newer

Utility

Task Versions
Archive Files task - Use an archive file to then create a source folder Azure Pipelines, TFS 2017 and newer
Azure Network Load Balancer task - Connect or disconnect an Azure virtual machine's network interface to a load balancer's address pool Azure Pipelines
Azure Static Web App task - Build and deploy an Azure Static Web App. Azure Pipelines
Bash task - Run a Bash script on macOS, Linux, or Windows Azure Pipelines
Batch Script task - Execute .bat or .cmd scripts when building your code Azure Pipelines, TFS 2015 RTM and newer
Cache task - Improve build performance by caching files, like dependencies, between pipeline runs. Azure Pipelines, TFS 2017 and newer
Command Line task - Execute tools from a command prompt when building code Azure Pipelines, TFS 2015 RTM and newer
Copy and Publish Build Artifacts task - Copy build artifacts to a staging folder and publish them TFS 2015 RTM. Deprecated on Azure Pipelines and newer versions of TFS.
Copy Files task - Copy files between folders with match patterns when building code Azure Pipelines, TFS 2015.3 and newer
cURL Upload Files task - Use cURL to upload files with supported protocols Azure Pipelines, TFS 2015 RTM and newer
Decrypt File (OpenSSL) task - A thin utility task for file decryption using OpenSSL Azure Pipelines
Delay task - Pause execution of a build or release pipeline for a fixed delay time Azure Pipelines, Azure DevOps Server 2019
Delete Files task - Delete files from the agent working directory when building code Azure Pipelines, TFS 2015.3 and newer
Download Build Artifacts task - Download Build Artifacts task for use in a build or release pipeline Azure Pipelines
Download Fileshare Artifacts task - Download Fileshare Artifacts task for Azure Pipelines and TFS Azure Pipelines
Download GitHub Release task - Download assets from your GitHub release as part of your pipeline Azure Pipelines
Download Package task - Download a package from a Package Management feed in Azure Artifacts or TFS. Azure Pipelines
Download Pipeline Artifacts task - Download Pipeline Artifacts task to download pipeline artifacts from earlier stages in this pipeline, or from another pipeline Azure Pipelines
Download Secure File task - Download a secure file to a temporary location on the build or release agent in Azure Pipelines
Extract Files task - Extract files from archives to a target folder using minimatch patterns on (TFS) Azure Pipelines, TFS 2017 and newer
File Transform task - Apply configuration file transformations and variable substitution to a target package or folder Azure Pipelines, Azure DevOps Server 2019
FTP Upload task - Upload files to a remote machine using the File Transfer Protocol (FTP), or securely with FTPS on (TFS) Azure Pipelines, TFS 2017 and newer
GitHub Release task - Create, edit, or discard a GitHub release. Azure Pipelines
Install Apple Certificate task - Install an Apple certificate required to build on a macOS agent on (TFS) Azure Pipelines, TFS 2018 and newer
Install Apple Provisioning Profile task - Install an Apple provisioning profile required to build on a macOS agent Azure Pipelines, TFS 2018 and newer
Install SSH Key task - Install an SSH key prior to a build or release Azure Pipelines
Invoke Azure Function task - Invoke a HTTP triggered function in an Azure function app and parse the response Azure Pipelines, TFS 2017 and newer
Invoke HTTP REST API task - Build and release task to invoke an HTTP API and parse the response with a build or release pipeline Azure Pipelines, TFS 2018 and newer
Jenkins Download Artifacts task - Download artifacts produced by a Jenkins job Azure Pipelines, TFS 2017 and newer
Manual Intervention task - Pause an active deployment within a stage in a release pipeline Azure Pipelines, Azure DevOps Server 2019
Manual Validation task - Pause a run within a stage of a YAML pipeline Azure Pipelines, Azure DevOps Server 2019
PowerShell task - Execute PowerShell scripts Azure Pipelines, TFS 2015 RTM and newer
Publish Build Artifacts task - Publish build artifacts to Azure Pipelines, Team Foundation Server (TFS), or to a file share Azure Pipelines, TFS 2015 RTM and newer
Publish Pipeline Artifacts task - Publish artifacts to Azure Pipelines. Azure Pipelines
Publish To Azure Service Bus task - Send a message to an Azure Service Bus with a build or release pipeline Azure Pipelines, Azure DevOps Server 2019
Python Script task - Run a Python script in a build or release pipeline Azure Pipelines
Query Azure Monitor Alerts task - Observe the configured Azure monitor rules for active alerts in a build or release pipeline Azure Pipelines, TFS 2017 and newer
Query Work Items task - Ensure the number of matching items returned by a work item query is within the configured threshold Azure Pipelines, TFS 2017 and newer
Service Fabric PowerShell Utility task - Service Fabric PowerShell task for use in build or release pipelines in Azure Pipelines, Azure DevOps Server 2019
Shell Script task - Execute a bash script when building code Azure Pipelines, TFS 2015 RTM and newer
Update Service Fabric Manifests task - Update the Service Fabric App versions Azure Pipelines, TFS 2017 and newer
Xamarin License task - Activate or deactivate a Xamarin license when building code Azure Pipelines, TFS 2015 RTM and newer

Test

Task Versions
App Center Test task - Test app packages with Visual Studio App Center. Azure Pipelines, TFS 2017 and newer
Cloud-based Apache JMeter Load Test task (Deprecated) - Runs the Apache JMeter load test in cloud Azure Pipelines
Cloud-based Load Test task (Deprecated) - Runs the load test in cloud with a build or release pipeline with Azure Pipelines to integrate cloud-based load tests into your build and release pipelines Azure Pipelines, TFS 2015 RTM and newer
Cloud-based Web Performance Test task (Deprecated) - Runs the Quick Web Performance Test with a build or release pipeline to easily verify your web application exists and is responsive Azure Pipelines, TFS 2015 RTM and newer
Container Structure Test Task - Test container structure by container task and integrate test reporting into your build and release pipelines Azure Pipelines
Publish Code Coverage Results task - Publish Cobertura or JaCoCo code coverage results from an Azure Pipelines or TFS build Azure Pipelines, TFS 2015 RTM and newer
Publish Test Results task - Publish Test Results to integrate test reporting into your build and release pipelines Azure Pipelines, TFS 2015 RTM and newer
Run Functional Tests task - Run Coded UI/Selenium/Functional tests on a set of machines using the Test Agent to integrate cloud-based load tests into your build and release pipelines Azure Pipelines, TFS 2015 RTM and newer
Visual Studio Test Agent Deployment task - Deploy and configure the Test Agent to run tests on a set of machines to integrate cloud-based load tests into your build and release pipelines Azure Pipelines, TFS 2015 RTM and newer
Visual Studio Test task - Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test runner. Test frameworks that have a Visual Studio test adapter such as xUnit, NUnit, Chutzpah, etc. can also be run. Azure Pipelines
Xamarin Test Cloud task - This task is deprecated. Use the App Center Test task instead. Azure Pipelines, TFS 2015 RTM and newer

Package

Task Versions
CocoaPods task - Learn all about how you can use CocoaPods packages when you are building code in Azure Pipelines or Team Foundation Server (TFS). Azure Pipelines, TFS 2015 RTM and newer
Conda Environment task - How to create and activate a Conda environment when building code Azure Pipelines
Maven Authenticate task (for task runners) - Provides credentials for Azure Artifacts feeds and external Maven repositories. Azure Pipelines
npm Authenticate task (for task runners) - Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries. Azure Pipelines
npm task - How to use npm packages when building code in Azure Pipelines Azure Pipelines, TFS 2015 RTM and newer
NuGet Authenticate - Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories Azure Pipelines
NuGet restore, pack, and publish task - Learn all about how you can make use of NuGet packages when you are building code Azure Pipelines, TFS 2018 and newer
PyPI Publisher task (Deprecated) - How to upload a package to PyPI when building code Azure Pipelines
Python Pip Authenticate - Sets up authentication with pip so you can perform pip commands in your pipeline. Azure Pipelines
Python Twine Upload Authenticate - Sets up authentication with twine to Python feeds so you can publish Python packages in your pipeline. Azure Pipelines
Universal Package, download and publish task - Learn all about how you can make use of Universal packages when you are building code Azure Pipelines, TFS 2018 and newer

Deploy

Task Versions
App Center Distribute task - Distribute app builds to testers and users through App Center Azure Pipelines, TFS 2017 and newer
Azure App Service Deploy task - The Azure App Service Deploy task is used to update Azure App Services to deploy Web Apps, Functions, and WebJobs. Azure Pipelines, Azure DevOps Server 2019
Azure App Service Manage task - Start, Stop, Restart, Slot swap, Swap with Preview, Install site extensions, or Enable Continuous Monitoring for an Azure App Service Azure Pipelines
Azure App Service Settings task - Azure App Service Settings Task supports configuring App settings, connection strings and other general settings in bulk using JSON syntax on your web app or any of its deployment slots. Azure Pipelines
Azure CLI task - build task to run a shell or batch script containing Microsoft Azure CLI commands Azure Pipelines, Azure DevOps Server 2019
Azure Cloud Service Deployment task - Deploy an Azure Cloud Service Azure Pipelines
Azure Database for Mysql Deployment task - Run your scripts and make changes to your Azure DB for Mysql. Azure Pipelines
Azure File Copy task - build task to copy files to Microsoft Azure storage blobs or virtual machines (VMs) Azure Pipelines, TFS 2015.3 and newer
Azure Function App for Container task - Deploy Azure Functions on Linux using custom images Azure Pipelines
Azure Function App task - The Azure App Service Deploy task is used to update Azure App Services to deploy Web Apps, Functions, and WebJobs. Azure Pipelines
Azure Key Vault task - Azure Key Vault task for use in the jobs of all of your build and release pipelines Azure Pipelines, Azure DevOps Server 2019
Azure Monitor Alerts task - Configure alerts on available metrics for an Azure resource Azure Pipelines
Azure Policy task - Security and compliance assessment with Azure policies Azure Pipelines, Azure DevOps Server 2019
Azure PowerShell task - Run a PowerShell script within an Azure environment Azure Pipelines
Azure Resource Group Deployment task - Deploy, start, stop, or delete Azure Resource Groups Azure Pipelines
Azure Spring Cloud task - Deploy applications to Azure Spring Cloud and manage Azure Spring Cloud deployments. Azure Pipelines
Azure SQL Database Deployment task - Deploy Azure SQL DB using DACPAC or run scripts using SQLCMD Azure Pipelines
Azure virtual machine scale set deployment task - Deploy virtual machine scale set image Azure Pipelines
Azure Web App for Container task - Deploy Web Apps, Functions, and WebJobs to Azure App Services Azure Pipelines
Azure Web App task - The Azure App Service Deploy task is used to update Azure App Services to deploy Web Apps, Functions, and WebJobs. Azure Pipelines
Build Machine Image task - Build a machine image using Packer to use for Azure Virtual machine scale set deployment Azure Pipelines
Chef Knife task - Run scripts with Knife commands on your Chef workstation Azure Pipelines
Chef task - Deploy to Chef environments by editing environment attributes Azure Pipelines
Copy Files Over SSH task - Copy Files Over SSH task for use in the jobs of all of your build and release pipelines Azure Pipelines, TFS 2017 and newer
IIS Web App Deploy task - Deploy a website or web app using WebDeploy Azure Pipelines
IIS Web App Manage task - Create or update a Website, Web App, Virtual Directory, or Application Pool Azure Pipelines
Kubectl task - Deploy, configure, or update a Kubernetes cluster in Azure Container Service by running kubectl commands. Azure Pipelines
Kubernetes manifest task - Bake and deploy manifests to Kubernetes clusters Azure Pipelines
MySQL Database Deployment On Machine Group task - The task is used to deploy for MySQL Database. Azure Pipelines
Package and Deploy Helm Charts task - Deploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands. Azure Pipelines, Azure DevOps Server 2019
PowerShell on Target Machines task - PowerShell on Target Machines build task Azure Pipelines, TFS 2015 RTM and newer
Service Fabric Application Deployment task - Service Fabric Application Deployment task Azure Pipelines, TFS 2017 and newer
Service Fabric Compose Deploy task - Service Fabric Compose Deploy Deployment task Azure Pipelines, Azure DevOps Server 2019
SSH Deployment task - SSH task for use in the jobs of all of your build and release pipelines Azure Pipelines, TFS 2017 and newer
Windows Machine File Copy task - Copy application files and other artifacts to remote Windows machines Azure Pipelines, TFS 2015 RTM and newer
WinRM SQL Server DB Deployment task - Deploy to SQL Server Database using DACPAC or SQL scripts Azure Pipelines

Tool

Task Versions
Docker Installer task - Install the Docker CLI on an agent machine Azure Pipelines, Azure DevOps Server 2019
Go Tool Installer task - Finds or downloads a specific version of the Go tool into the tools cache and adds it to the PATH Azure Pipelines
Helm installer task - Install helm on an agent machine Azure Pipelines
Java Tool Installer task - Change the version of Java Azure Pipelines
Kubectl installer task - Install kubectl on an agent machine Azure Pipelines
Node.js Tool Installer task - Find, download, and cache a specified version of Node.js and add it to the PATH Azure Pipelines
NuGet Tool Installer task - Find, download, and cache a specified version of NuGet and add it to the PATH Azure Pipelines
Use .NET Core task - Acquires a specific version of .NET Core from the internet or the tools cache and adds it to the PATH Azure Pipelines
Use Python Version task - Select a version of Python to run on an agent and optionally add it to PATH Azure Pipelines
Use Ruby Version task - Select a version of Ruby to run on an agent and optionally add it to PATH Azure Pipelines
Visual Studio Test Platform Installer task - Acquires the test platform from nuget.org or the tools cache and can allow you to run tests and collect diagnostic data Azure Pipelines

To learn more about tool installer tasks, see Tool installers.

Open source

These tasks are open source on GitHub. Feedback and contributions are welcome.

FAQ

Where can I learn step-by-step how to build my app?

Build your app

Can I add my own build tasks?

Yes: Add a build task

Do I need an agent?

You need at least one agent to run your build or release.

I'm having problems. How can I troubleshoot them?

See Troubleshoot Build and Release.

I can't select a default agent pool and I can't queue my build or release. How do I fix this?

See Agent pools.

My NuGet push task is failing with the following error: "Error: unable to get local issuer certificate". How can I fix this?

This can be fixed by adding a trusted root certificate. You can either add the NODE_EXTRA_CA_CERTS=file environment variable to your build agent, or you can add the NODE.EXTRA.CA.CERTS=file task variable in your pipeline. See Node.js documentation for more details about this variable. See Set variables in a pipeline for instructions on setting a variable in your pipeline.

I use TFS on-premises and I don't see some of these features. Why not?

Some of these features are available only on Azure Pipelines and not yet available on-premises. Some features are available on-premises if you have upgraded to the latest version of TFS.