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?
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.