Azure Pipelines 任务参考

任务在管道中执行操作。 例如,任务可以生成应用、与 Azure 资源交互、安装工具或运行测试。 任务是在管道中定义自动化的构建基块。

本部分中的文章介绍 Azure Pipelines 的内置任务,并指定每个任务具有特殊含义的属性的语义。

有关任务支持的常规属性的详细信息,请参阅 steps.task 的 YAML 参考

有关使用任务(包括创建自定义任务、自定义扩展和在 Visual Studio Marketplace 上查找任务)创作管道的操作说明和教程,请参阅 任务概念Azure Pipelines 文档

重要

屏幕截图显示如何从 Azure DevOps 内容版本选择器中选择版本。

若要查看适用于平台的任务的任务参考,请确保从目录上方的版本选择器中选择正确的 Azure DevOps 版本。 功能支持会有所不同,具体取决于你使用的是 Azure DevOps Services 还是本地版本的 Azure DevOps Server。
若要了解所使用的本地版本,请参阅 查找 Azure DevOps 平台和版本

生成任务

任务 说明
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。
高级安全性自动生成
AdvancedSecurity-Codeql-Autobuild@1
尝试通过在源文件夹中查找和生成项目文件来生成存储库。
高级安全性初始化 CodeQL
AdvancedSecurity-Codeql-Init@1
初始化 CodeQL 数据库以准备生成。
高级安全性执行 CodeQL 分析
AdvancedSecurity-Codeql-Analyze@1
完成 CodeQL 数据库并运行分析查询。
Android 内部版本
AndroidBuild@1
AndroidBuild@1已弃用。 使用 Gradle。
Android 签名
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
对 Android APK 文件进行签名和对齐。

Ant@1
使用 Apache Ant 生成。
Azure IoT Edge
AzureIoTEdge@2
生成和部署 Azure IoT Edge映像。
CMake
CMake@1
使用 CMake 跨平台生成系统进行生成。
容器生成
ContainerBuild@0
容器生成任务。
Docker
Docker@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器或运行 Docker 命令。
Docker Compose
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。
下载 GitHub Nuget 包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
Go
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
Gradle
Gradle@3
Gradle@2
Gradle@1
使用 Gradle 包装器脚本生成。
Grunt
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 流式处理基于任务的生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
为源代码编制索引,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
在 Jenkins 服务器上对作业进行排队。
Jenkins 队列作业
JenkinsQueueJob@1
在 Jenkins 服务器上对作业进行排队。
Maven
Maven@4
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成、测试和部署。
MSBuild
MSBuild@1
使用 MSBuild 生成。
准备分析配置
SonarQubePrepare@5
SonarQubePrepare@4
准备 SonarQube 分析配置。
发布质量入口结果
SonarQubePublish@5
SonarQubePublish@4
在 Azure DevOps 生成结果上发布 SonarQube 的质量门结果,在实际分析后使用。
运行代码分析
SonarQubeAnalyze@5
SonarQubeAnalyze@4
运行扫描程序并将结果上传到 SonarQube 服务器。
Visual Studio 内部版本
VSBuild@1
使用 MSBuild 生成并设置 Visual Studio 版本属性。
Xamarin.Android
XamarinAndroid@1
使用 Xamarin 生成 Android 应用。
Xamarin.iOS
XamariniOS@2
XamariniOS@1
在 macOS 上使用 Xamarin 生成 iOS 应用。
Xcode
Xcode@5
Xcode@4
在 macOS 上生成、测试或存档 Xcode 工作区。 (可选)打包应用。
Xcode 生成
Xcode@3
Xcode@2
在 macOS 上生成 Xcode 工作区。
Xcode 包 iOS
XcodePackageiOS@0
使用 xcrun (Xcode 7 或更低) 从 Xcode 生成输出生成 .ipa 文件。

部署任务

任务 说明
App Center 分发
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
AppCenterDistribute@0
通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
ARM 模板部署
AzureResourceManagerTemplateDeployment@3
将 Azure 资源管理器 (ARM) 模板部署到所有部署范围。
Azure 应用服务经典 (已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署到Azure 应用服务 Web、移动或 API 应用。
Azure 应用服务管理
AzureAppServiceManage@0
启动、停止、重启、槽交换、删除槽、安装站点扩展或为Azure 应用服务启用持续监视。
Azure 应用服务设置
AzureAppServiceSettings@1
更新/添加适用于 Linux 或 Windows 的 Azure Web 应用的应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在 Linux 代理上运行时,针对 PowerShell Core/Shell 脚本中的 Azure 订阅运行 Azure CLI 命令,在 Windows 代理上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI 预览版
AzureCLI@0
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure 云服务部署
AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@1
部署 Azure 云服务。
Azure 容器应用部署
AzureContainerApps@1
AzureContainerApps@0
用于生成和部署 Azure 容器应用的 Azure DevOps 任务。
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本并更改Azure Database for MySQL。
Azure 文件复制
AzureFileCopy@6
AzureFileCopy@5
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到Azure Blob 存储或虚拟机。
Kubernetes 上的 Azure 函数
AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@0
将 Azure 函数部署到 Kubernetes 群集。
Azure Functions部署
AzureFunctionApp@2
AzureFunctionApp@1
使用 .NET、Python、JavaScript、PowerShell、基于 Java 的 Web 应用程序更新函数应用。
适用于容器的 Azure Functions
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure Key Vault
AzureKeyVault@2
AzureKeyVault@1
下载 Azure 密钥保管库机密。
Azure Monitor 警报 (弃用)
AzureMonitorAlerts@0
针对 Azure 资源的可用指标配置警报, (已弃用) 。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
将 Azure 资源管理器 (ARM) 模板部署到资源组并管理虚拟机。
Azure 资源组部署
AzureResourceGroupDeployment@1
部署、启动、停止、删除 Azure 资源组。
Azure Spring Apps
AzureSpringCloud@0
将应用程序部署到 Azure Spring Apps 并管理部署。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
使用 DACPAC 部署 Azure SQL 数据库,或使用 SQLCMD 运行脚本。
Azure VM 规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure Web 应用
AzureWebApp@1
部署适用于 Linux 或 Windows 的 Azure Web 应用。
用于容器的 Azure Web 应用
AzureWebAppContainer@1
将容器部署到Azure 应用服务。
生成计算机映像
PackerBuild@1
PackerBuild@0
使用 Packer 生成计算机映像,该映像可用于 Azure 虚拟机规模集部署。
检查 Azure Policy 合规性
AzurePolicyCheckGate@0
Azure Policy的安全性和合规性评估。
Chef
Chef@1
通过编辑环境属性部署到 Chef 环境。
Chef Knife
ChefKnife@1
在 Chef 工作站上使用 Knife 命令运行脚本。
通过 SSH 复制文件
CopyFilesOverSSH@0
通过 SSH 将文件或生成项目复制到远程计算机。
部署到 Kubernetes
KubernetesManifest@1
KubernetesManifest@0
使用 Kubernetes 清单文件部署到群集,甚至使用 Helm 图表烘焙要用于部署的清单文件。
IIS Web 应用部署
IISWebAppDeploymentOnMachineGroup@0
使用 Web 部署部署网站或 Web 应用程序。
IIS Web 应用部署 (已弃用)
IISWebAppDeployment@1
使用 MSDeploy 进行部署,然后创建/更新网站和应用池。
IIS Web 应用管理
IISWebAppManagementOnMachineGroup@0
创建或更新网站、Web 应用、虚拟目录或应用程序池。
调用 REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
将 REST API 作为管道的一部分调用。
Kubectl
Kubernetes@1
Kubernetes@0
通过运行 kubectl 命令在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。
手动验证
ManualValidation@0
[预览]暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行 helm 命令,在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
目标虚拟机上的 PowerShell
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
在远程计算机上执行 PowerShell 脚本 () 。
Service Fabric 应用程序部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用程序部署到群集。
Service Fabric Compose 部署
ServiceFabricComposeDeploy@0
将 Docker Compose 应用程序部署到 Azure Service Fabric 群集。
SQL Server数据库部署
SqlDacpacDeploymentOnMachineGroup@0
使用 DACPAC 或 SQL 脚本部署SQL Server数据库。
SQL Server数据库部署 (弃用)
SqlServerDacpacDeployment@1
使用 DACPAC 部署SQL Server数据库。
SSH
SSH@0
使用 SSH 在远程计算机上运行 shell 命令或脚本。
Windows 计算机文件复制
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
将文件复制到远程 Windows 计算机。

包任务

任务 说明
货物对任务运行程序 () 进行身份验证
CargoAuthenticate@0
用于安装 Cargo 箱分发的货客户端的身份验证任务。
CocoaPods
CocoaPods@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 conda直接在脚本中使用 以使用 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从 GitHub 安装 npm 包。
Maven 身份验证
MavenAuthenticate@0
提供 Azure Artifacts 源和外部 maven 存储库的凭据。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如 Azure Artifacts。
npm 对任务运行程序 (进行身份验证)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这样,gulp 和 Grunt 等 npm 任务运行程序就能向专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 NuGet.org 和经过身份验证的源,例如 Azure Artifacts 和 MyGet。 使用 NuGet.exe 以及 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
NuGet 身份验证
NuGetAuthenticate@1
NuGetAuthenticate@0
配置 NuGet 工具,使其向 Azure Artifacts 和其他 NuGet 存储库进行身份验证。 需要 NuGet >= 4.8.5385、dotnet >= 6 或 MSBuild >= 15.8.166.59604。
NuGet 命令
NuGet@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 安装程序
NuGetInstaller@0
安装或还原缺少的 NuGet 包。 使用NuGetAuthenticate@0任务获取最新功能。
NuGet 打包程序
NuGetPackager@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 发布者
NuGetPublisher@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 还原
NuGetRestore@1
还原 NuGet 包,准备执行 Visual Studio 生成步骤。
PyPI 发布者
PyPIPublisher@0
使用 Twine 创建 sdist 或 wheel 并将其上传到 PyPI 兼容的索引。
Python pip 身份验证
PipAuthenticate@1
PipAuthenticate@0
用于安装 Python 分发版的 pip 客户端的身份验证任务。
Python 孪生上传身份验证
TwineAuthenticate@1
TwineAuthenticate@0
使用孪生对上传 Python 分发版进行身份验证。 将“-r FeedName/EndpointName --config-file $ (PYPIRC_PATH) ”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库 (-r) 。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。
Xamarin 组件还原
XamarinComponentRestore@0
此任务已弃用。 请改用“NuGet”。

测试任务

任务 说明
App Center 测试
AppCenterTest@1
使用 Visual Studio App Center 测试应用包。
Azure 负载测试
AzureLoadTest@1
使用 Azure 负载测试自动执行性能回归测试。
容器结构测试
ContainerStructureTest@0
使用 container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) 基于四类测试(命令测试、文件存在测试、文件内容测试和元数据测试)来验证映像的结构。
Mobile Center 测试
VSMobileCenterTest@0
使用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@2
PublishCodeCoverageResults@1
发布生成中的任何代码覆盖率结果。
发布测试结果
PublishTestResults@1
将测试结果发布到 Azure Pipelines。
发布测试结果
PublishTestResults@2
将测试结果发布到 Azure Pipelines。
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务 (Visual Studio 测试代理部署) 已弃用。 请改用“Visual Studio 测试”任务。 VSTest 任务可以运行单元测试以及功能测试。 使用多代理作业设置在一个或多个代理上运行测试。 使用“Visual Studio 测试平台”任务运行测试,而无需在代理上使用 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@3
VSTest@2
VSTest@1
使用 Visual Studio 测试 (VsTest) 运行器运行单元和功能测试, (Selenium、Appium、编码的 UI 测试等 ) 。 可以运行具有 Visual Studio 测试适配器的测试框架,例如 MsTest、xUnit、NUnit、Chutzpah (,用于使用 QUnit、Mocha 和 Jasmine) 等进行 JavaScript 测试。 可以使用此任务 (版本 2) 在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@1
部署并配置测试代理,以在一组计算机上运行测试。
Xamarin 测试云
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin Test Cloud 测试移动应用。 请改用“App Center 测试”任务。

工具任务

任务 说明
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Docker CLI 安装程序
DockerInstaller@0
在代理计算机上安装 Docker CLI。
Duffle 工具安装程序
DuffleInstaller@0
安装指定版本的 Duffle 以安装和管理 CNAB 捆绑包。
Go 工具安装程序
GoTool@0
在缓存中查找或下载特定版本的 Go 并将其添加到 PATH。
Helm 工具安装程序
HelmInstaller@1
HelmInstaller@0
在代理计算机上安装 Helm。
安装 Azure Func Core Tools
FuncToolsInstaller@0
安装 Azure Func Core Tools。
Java 工具安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存获取特定版本的 Java,并设置JAVA_HOME。
Kubectl 工具安装程序
KubectlInstaller@0
在代理计算机上安装 Kubectl。
Kubelogin 工具安装程序
KubeloginInstaller@0
帮助安装 kubelogin。
NuGet 工具安装程序
NuGetToolInstaller@1
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet,并将其添加到 PATH。 使用此任务更改 NuGet 任务中使用的 NuGet 版本。
使用 .NET Core
UseDotNet@2
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。 使用此任务可更改后续任务中使用的 .NET Core 版本。 此外,还提供代理支持。
使用 Node.js 生态系统
UseNode@1
NodeTool@0
设置 Node.js 环境并将其添加到 PATH,另外提供代理支持。
使用 Python 版本
UsePythonVersion@0
使用工具缓存中的指定版本的 Python,可以选择将其添加到 PATH。
使用 Ruby 版本
UseRubyVersion@0
使用工具缓存中的指定版本的 Ruby,可以选择将其添加到 PATH。
Visual Studio 测试平台安装程序
VisualStudioTestPlatformInstaller@1
从 nuget.org 或工具缓存获取测试平台。 满足“vstest”需求,可用于运行测试和使用 Visual Studio 测试任务收集诊断数据。

实用工具任务

任务 说明
高级安全依赖项扫描
AdvancedSecurity-Dependency-Scanning@1
扫描源代码中的开放源代码依赖项漏洞。
存档文件
ArchiveFiles@2
将文件压缩为.7z、.tar.gz或 .zip。
存档文件
ArchiveFiles@1
使用.7z、.rar、.tar.gz和 .zip 等压缩格式存档文件。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池或断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
批处理脚本
BatchScript@1
运行 Windows 命令或批处理脚本,并根据需要允许它更改环境。
缓存
Cache@2
在运行之间缓存文件。
缓存 (Beta)
CacheBeta@1
CacheBeta@0
在运行之间缓存文件。
命令行
CmdLine@2
CmdLine@1
在 Linux 和 macOS 上使用 Bash、在 Windows 上使用 cmd.exe 运行命令行脚本。
复制和发布生成工件
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1已弃用。 请改用“复制文件”任务和“发布生成项目”任务。
复制文件
CopyFiles@2
使用与文件路径匹配的模式将文件从源文件夹复制到目标文件夹, (而不是) 文件夹路径。
复制文件
CopyFiles@1
使用小型匹配模式将文件从源文件夹复制到目标文件夹 (小型匹配模式将仅匹配文件路径,而不匹配) 文件夹路径。
cURL 上传文件
cURLUploader@2
cURLUploader@1
使用cURL支持的协议上传文件。
(OpenSSL) 解密文件
DecryptFile@1
使用 OpenSSL 解密文件。
延迟
Delay@1
将工作流的进一步执行延迟一定时间。
删除文件
DeleteFiles@1
删除文件夹或与模式匹配的文件。
部署 Azure 静态 Web 应用
AzureStaticWebApp@0
生成并部署 Azure 静态 Web 应用。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,如 \share\drop。
下载生成项目
DownloadBuildArtifacts@1
DownloadBuildArtifacts@0
下载保存为已完成生成的项目的文件。
下载 GitHub 发布
DownloadGitHubRelease@0
从存储库下载 GitHub 版本。
下载包
DownloadPackage@1
DownloadPackage@0
从 Azure Artifacts 中的包管理源下载包。
下载管道项目
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
下载生成和管道项目。
下载安全文件
DownloadSecureFile@1
将安全文件下载到代理计算机。
提取文件
ExtractFiles@1
提取各种存档和压缩文件,例如.7z、.rar、.tar.gz和 .zip。
文件转换
FileTransform@2
FileTransform@1
将令牌替换为 XML 或 JSON 配置文件中的变量值。
FTP 上传
FtpUpload@2
FtpUpload@1
使用 FTP 上传文件。
GitHub 注释
GitHubComment@0
将注释写入 GitHub 实体,即问题或拉取请求 (PR) 。
GitHub 版本
GitHubRelease@1
GitHubRelease@0
创建、编辑或删除 GitHub 版本。
安装 Apple 证书
InstallAppleCertificate@2
安装在 macOS 代理计算机上生成所需的 Apple 证书。
安装 Apple 证书
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理上生成所需的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
安装在 macOS 代理计算机上生成所需的 Apple 预配配置文件。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@0
安装在 macOS 代理上生成所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
调用 Azure 函数
AzureFunction@1
AzureFunction@0
调用 Azure 函数。
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
Node.js 任务运行程序安装程序
NodeTaskRunnerInstaller@0
安装特定 Node.js 版本以运行节点任务。
表示法
Notation@0
用于设置表示法 CLI 的 Azure Pipepine 任务,使用表示法进行签名和验证。
PowerShell
PowerShell@2
PowerShell@1
在 Linux、macOS 或 Windows 上运行 PowerShell 脚本。
发布生成项目
PublishBuildArtifacts@1
将生成项目发布到 Azure Pipelines 或 Windows 文件共享。
发布管道工件
PublishPipelineArtifact@1
PublishPipelineArtifact@0
发布 (上传) 文件或目录作为当前运行的命名项目。
发布管道元数据
PublishPipelineMetadata@0
将管道元数据发布到证据存储。
发布到Azure 服务总线
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用服务连接向Azure 服务总线发送消息 (无需代理) 。
Python 脚本
PythonScript@0
运行 Python 文件或内联脚本。
查询 Azure Monitor 警报
AzureMonitor@1
观察为活动警报配置的 Azure Monitor 规则。
查询经典 Azure Monitor 警报
AzureMonitor@0
观察针对活动警报配置的经典 Azure Monitor 规则。
查询工作项
queryWorkItems@0
执行工作项查询并检查返回的项数。
查看应用
ReviewApp@0
在部署阶段提供程序下使用此任务动态创建资源。
Service Fabric PowerShell
ServiceFabricPowerShell@1
在 Azure Service Fabric 群集连接的上下文中运行 PowerShell 脚本。
Shell 脚本
ShellScript@2
使用 Bash 运行 shell 脚本。
更新 Service Fabric 应用版本
ServiceFabricUpdateAppVersions@1
自动更新打包的 Service Fabric 应用程序的版本。
更新 Service Fabric 清单
ServiceFabricUpdateManifests@2
自动更新打包的 Azure Service Fabric 应用程序中应用程序和服务清单的部分。
Xamarin 许可证
XamarinLicense@1
[已弃用]升级到 Xamarin 的免费版本: https://store.xamarin.com

生成任务

任务 说明
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。
Android 内部版本
AndroidBuild@1
AndroidBuild@1已弃用。 使用 Gradle。
Android 签名
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
对 Android APK 文件进行签名和对齐。

Ant@1
使用 Apache Ant 生成。
Azure IoT Edge
AzureIoTEdge@2
生成和部署 Azure IoT Edge映像。
CMake
CMake@1
使用 CMake 跨平台生成系统进行生成。
容器生成
ContainerBuild@0
容器生成任务。
Docker
Docker@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器或运行 Docker 命令。
Docker Compose
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。
下载 GitHub Nuget 包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
Go
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
Gradle
Gradle@3
Gradle@2
Gradle@1
使用 Gradle 包装器脚本生成。
Grunt
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 流式处理基于任务的生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
为源代码编制索引,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
在 Jenkins 服务器上对作业进行排队。
Jenkins 队列作业
JenkinsQueueJob@1
在 Jenkins 服务器上对作业进行排队。
Maven
Maven@4
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成、测试和部署。
MSBuild
MSBuild@1
使用 MSBuild 生成。
Visual Studio 内部版本
VSBuild@1
使用 MSBuild 生成并设置 Visual Studio 版本属性。
Xamarin.Android
XamarinAndroid@1
使用 Xamarin 生成 Android 应用。
Xamarin.iOS
XamariniOS@2
XamariniOS@1
在 macOS 上使用 Xamarin 生成 iOS 应用。
Xcode
Xcode@5
Xcode@4
在 macOS 上生成、测试或存档 Xcode 工作区。 (可选)打包应用。
Xcode 生成
Xcode@3
Xcode@2
在 macOS 上生成 Xcode 工作区。
Xcode 包 iOS
XcodePackageiOS@0
使用 xcrun (Xcode 7 或更低) 从 Xcode 生成输出生成 .ipa 文件。

部署任务

任务 说明
App Center 分发
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
AppCenterDistribute@0
通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
ARM 模板部署
AzureResourceManagerTemplateDeployment@3
将 Azure 资源管理器 (ARM) 模板部署到所有部署范围。
Azure 应用服务经典 (已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署到Azure 应用服务 Web、移动或 API 应用。
Azure 应用服务管理
AzureAppServiceManage@0
启动、停止、重启、槽交换、删除槽、安装站点扩展或为Azure 应用服务启用持续监视。
Azure 应用服务设置
AzureAppServiceSettings@1
更新/添加适用于 Linux 或 Windows 的 Azure Web 应用的应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在 Linux 代理上运行时,针对 PowerShell Core/Shell 脚本中的 Azure 订阅运行 Azure CLI 命令,在 Windows 代理上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI 预览版
AzureCLI@0
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure 云服务部署
AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@1
部署 Azure 云服务。
Azure 容器应用部署
AzureContainerApps@1
AzureContainerApps@0
用于生成和部署 Azure 容器应用的 Azure DevOps 任务。
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本并更改Azure Database for MySQL。
Azure 文件复制
AzureFileCopy@5
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到Azure Blob 存储或虚拟机。
Kubernetes 上的 Azure 函数
AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@0
将 Azure 函数部署到 Kubernetes 群集。
Azure Functions部署
AzureFunctionApp@2
AzureFunctionApp@1
使用 .NET、Python、JavaScript、PowerShell、基于 Java 的 Web 应用程序更新函数应用。
适用于容器的 Azure Functions
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure Key Vault
AzureKeyVault@2
AzureKeyVault@1
下载 Azure 密钥保管库机密。
Azure Monitor 警报 (弃用)
AzureMonitorAlerts@0
针对 Azure 资源的可用指标配置警报, (已弃用) 。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
将 Azure 资源管理器 (ARM) 模板部署到资源组并管理虚拟机。
Azure 资源组部署
AzureResourceGroupDeployment@1
部署、启动、停止、删除 Azure 资源组。
Azure Spring Apps
AzureSpringCloud@0
将应用程序部署到 Azure Spring Apps 并管理部署。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
使用 DACPAC 部署 Azure SQL 数据库,或使用 SQLCMD 运行脚本。
Azure VM 规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure Web 应用
AzureWebApp@1
部署适用于 Linux 或 Windows 的 Azure Web 应用。
用于容器的 Azure Web 应用
AzureWebAppContainer@1
将容器部署到Azure 应用服务。
生成计算机映像
PackerBuild@1
PackerBuild@0
使用 Packer 生成计算机映像,该映像可用于 Azure 虚拟机规模集部署。
检查 Azure Policy 合规性
AzurePolicyCheckGate@0
Azure Policy的安全性和合规性评估。
Chef
Chef@1
通过编辑环境属性部署到 Chef 环境。
Chef Knife
ChefKnife@1
在 Chef 工作站上使用 Knife 命令运行脚本。
通过 SSH 复制文件
CopyFilesOverSSH@0
通过 SSH 将文件或生成项目复制到远程计算机。
部署到 Kubernetes
KubernetesManifest@1
KubernetesManifest@0
使用 Kubernetes 清单文件部署到群集,甚至使用 Helm 图表烘焙要用于部署的清单文件。
IIS Web 应用部署
IISWebAppDeploymentOnMachineGroup@0
使用 Web 部署部署网站或 Web 应用程序。
IIS Web 应用部署 (已弃用)
IISWebAppDeployment@1
使用 MSDeploy 进行部署,然后创建/更新网站和应用池。
IIS Web 应用管理
IISWebAppManagementOnMachineGroup@0
创建或更新网站、Web 应用、虚拟目录或应用程序池。
调用 REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
将 REST API 作为管道的一部分调用。
Kubectl
Kubernetes@1
Kubernetes@0
通过运行 kubectl 命令在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。
手动验证
ManualValidation@0
[预览]暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行 helm 命令,在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
目标虚拟机上的 PowerShell
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
在远程计算机上执行 PowerShell 脚本 () 。
Service Fabric 应用程序部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用程序部署到群集。
Service Fabric Compose 部署
ServiceFabricComposeDeploy@0
将 Docker Compose 应用程序部署到 Azure Service Fabric 群集。
SQL Server数据库部署
SqlDacpacDeploymentOnMachineGroup@0
使用 DACPAC 或 SQL 脚本部署SQL Server数据库。
SQL Server数据库部署 (弃用)
SqlServerDacpacDeployment@1
使用 DACPAC 部署SQL Server数据库。
SSH
SSH@0
使用 SSH 在远程计算机上运行 shell 命令或脚本。
Windows 计算机文件复制
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
将文件复制到远程 Windows 计算机。

包任务

任务 说明
任务运行器的货物身份验证 ()
CargoAuthenticate@0
用于安装货箱分发的货物客户端的身份验证任务。
CocoaPods
CocoaPods@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 conda直接在脚本中使用 以处理 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从 GitHub 安装 npm 包。
Maven 身份验证
MavenAuthenticate@0
提供 Azure Artifacts 源和外部 maven 存储库的凭据。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如 Azure Artifacts。
npm 对任务运行器 (进行身份验证)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这样,gulp 和 Grunt 等 npm 任务运行程序就能向专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 azure Artifacts 和 MyGet 等 NuGet.org 和经过身份验证的源。 使用 NuGet.exe 以及 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
NuGet 身份验证
NuGetAuthenticate@1
NuGetAuthenticate@0
配置 NuGet 工具,使其向 Azure Artifacts 和其他 NuGet 存储库进行身份验证。 需要 NuGet >= 4.8.5385、dotnet >= 6 或 MSBuild >= 15.8.166.59604。
NuGet 命令
NuGet@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 安装程序
NuGetInstaller@0
安装或还原缺少的 NuGet 包。 使用NuGetAuthenticate@0任务获取最新功能。
NuGet 打包程序
NuGetPackager@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 发布者
NuGetPublisher@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 还原
NuGetRestore@1
还原 NuGet 包,为 Visual Studio 生成步骤做准备。
PyPI 发布者
PyPIPublisher@0
使用 Twine 创建 sdist 或 wheel 并将其上传到 PyPI 兼容的索引。
Python pip 身份验证
PipAuthenticate@1
PipAuthenticate@0
用于安装 Python 分发版的 pip 客户端的身份验证任务。
Python 孪生上传身份验证
TwineAuthenticate@1
TwineAuthenticate@0
使用孪生对上传 Python 分发版进行身份验证。 将“-r FeedName/EndpointName --config-file $ (PYPIRC_PATH) ”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库 (-r) 。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。
Xamarin 组件还原
XamarinComponentRestore@0
此任务已弃用。 请改用“NuGet”。

测试任务

任务 说明
App Center 测试
AppCenterTest@1
使用 Visual Studio App Center 测试应用包。
容器结构测试
ContainerStructureTest@0
使用 container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) 基于四类测试(命令测试、文件存在测试、文件内容测试和元数据测试)来验证映像的结构。
Mobile Center 测试
VSMobileCenterTest@0
使用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@2
PublishCodeCoverageResults@1
发布生成中的任何代码覆盖率结果。
发布测试结果
PublishTestResults@1
将测试结果发布到 Azure Pipelines。
发布测试结果
PublishTestResults@2
将测试结果发布到 Azure Pipelines。
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务 (Visual Studio 测试代理部署) 已弃用。 请改用“Visual Studio 测试”任务。 VSTest 任务可以运行单元测试以及功能测试。 使用多代理作业设置在一个或多个代理上运行测试。 使用“Visual Studio 测试平台”任务运行测试,而无需在代理上使用 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
使用 Visual Studio 测试 (VsTest) 运行器运行单元和功能测试, (Selenium、Appium、编码的 UI 测试等 ) 。 可以运行具有 Visual Studio 测试适配器的测试框架,例如 MsTest、xUnit、NUnit、Chutzpah (,用于使用 QUnit、Mocha 和 Jasmine) 等进行 JavaScript 测试。 可以使用此任务 (版本 2) 在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@1
部署并配置测试代理,以在一组计算机上运行测试。
Xamarin 测试云
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin Test Cloud 测试移动应用。 请改用“App Center 测试”任务。

工具任务

任务 说明
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Docker CLI 安装程序
DockerInstaller@0
在代理计算机上安装 Docker CLI。
Duffle 工具安装程序
DuffleInstaller@0
安装指定版本的 Duffle 以安装和管理 CNAB 捆绑包。
Go 工具安装程序
GoTool@0
在缓存中查找或下载特定版本的 Go 并将其添加到 PATH。
Helm 工具安装程序
HelmInstaller@1
HelmInstaller@0
在代理计算机上安装 Helm。
安装 Azure Func Core Tools
FuncToolsInstaller@0
安装 Azure Func Core Tools。
Java 工具安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存获取特定版本的 Java,并设置JAVA_HOME。
Kubectl 工具安装程序
KubectlInstaller@0
在代理计算机上安装 Kubectl。
NuGet 工具安装程序
NuGetToolInstaller@1
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet,并将其添加到 PATH。 使用此任务可以更改 NuGet 任务中使用的 NuGet 版本。
使用 .NET Core
UseDotNet@2
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。 使用此任务可以更改后续任务中使用的 .NET Core 版本。 此外,还提供代理支持。
使用 Node.js 生态系统
UseNode@1
NodeTool@0
设置 Node.js 环境并将其添加到 PATH,此外提供代理支持。
使用 Python 版本
UsePythonVersion@0
使用工具缓存中的指定版本的 Python,可以选择将其添加到 PATH。
使用 Ruby 版本
UseRubyVersion@0
使用工具缓存中的指定版本的 Ruby,可以选择将其添加到 PATH。
Visual Studio 测试平台安装程序
VisualStudioTestPlatformInstaller@1
从 nuget.org 或工具缓存获取测试平台。 满足“vstest”需求,可用于运行测试和使用 Visual Studio 测试任务收集诊断数据。

实用工具任务

任务 说明
存档文件
ArchiveFiles@2
将文件压缩为.7z、.tar.gz或 .zip。
存档文件
ArchiveFiles@1
使用.7z、.rar、.tar.gz和 .zip 等压缩格式存档文件。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池或断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
批处理脚本
BatchScript@1
运行 Windows 命令或批处理脚本,并根据需要允许它更改环境。
缓存
Cache@2
在运行之间缓存文件。
缓存 (Beta)
CacheBeta@1
CacheBeta@0
在运行之间缓存文件。
命令行
CmdLine@2
CmdLine@1
在 Linux 和 macOS 上使用 Bash、在 Windows 上使用 cmd.exe 运行命令行脚本。
复制和发布生成工件
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1已弃用。 请改用“复制文件”任务和“发布生成项目”任务。
复制文件
CopyFiles@2
使用与文件路径匹配的模式将文件从源文件夹复制到目标文件夹, (而不是) 文件夹路径。
复制文件
CopyFiles@1
使用小型匹配模式将文件从源文件夹复制到目标文件夹 (小型匹配模式将仅匹配文件路径,而不匹配) 文件夹路径。
cURL 上传文件
cURLUploader@2
cURLUploader@1
使用cURL支持的协议上传文件。
(OpenSSL) 解密文件
DecryptFile@1
使用 OpenSSL 解密文件。
延迟
Delay@1
将工作流的进一步执行延迟一定时间。
删除文件
DeleteFiles@1
删除文件夹或与模式匹配的文件。
部署 Azure 静态 Web 应用
AzureStaticWebApp@0
生成并部署 Azure 静态 Web 应用。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,如 \share\drop。
下载生成项目
DownloadBuildArtifacts@1
DownloadBuildArtifacts@0
下载保存为已完成生成的项目的文件。
下载 GitHub 发布
DownloadGitHubRelease@0
从存储库下载 GitHub 版本。
下载包
DownloadPackage@1
DownloadPackage@0
从 Azure Artifacts 中的包管理源下载包。
下载管道项目
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
下载生成和管道项目。
下载安全文件
DownloadSecureFile@1
将安全文件下载到代理计算机。
提取文件
ExtractFiles@1
提取各种存档和压缩文件,例如.7z、.rar、.tar.gz和 .zip。
文件转换
FileTransform@2
FileTransform@1
将令牌替换为 XML 或 JSON 配置文件中的变量值。
FTP 上传
FtpUpload@2
FtpUpload@1
使用 FTP 上传文件。
GitHub 注释
GitHubComment@0
将注释写入 GitHub 实体,即问题或拉取请求 (PR) 。
GitHub 版本
GitHubRelease@1
GitHubRelease@0
创建、编辑或删除 GitHub 版本。
安装 Apple 证书
InstallAppleCertificate@2
安装在 macOS 代理计算机上生成所需的 Apple 证书。
安装 Apple 证书
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理上生成所需的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
安装在 macOS 代理计算机上生成所需的 Apple 预配配置文件。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@0
安装在 macOS 代理上生成所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
调用 Azure 函数
AzureFunction@1
AzureFunction@0
调用 Azure 函数。
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
Node.js 任务运行程序安装程序
NodeTaskRunnerInstaller@0
安装特定 Node.js 版本以运行节点任务。
PowerShell
PowerShell@2
PowerShell@1
在 Linux、macOS 或 Windows 上运行 PowerShell 脚本。
发布生成项目
PublishBuildArtifacts@1
将生成项目发布到 Azure Pipelines 或 Windows 文件共享。
发布管道工件
PublishPipelineArtifact@1
PublishPipelineArtifact@0
发布 (上传) 文件或目录作为当前运行的命名项目。
发布管道元数据
PublishPipelineMetadata@0
将管道元数据发布到证据存储。
发布到Azure 服务总线
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用服务连接向Azure 服务总线发送消息 (无需代理) 。
Python 脚本
PythonScript@0
运行 Python 文件或内联脚本。
查询 Azure Monitor 警报
AzureMonitor@1
观察为活动警报配置的 Azure Monitor 规则。
查询经典 Azure Monitor 警报
AzureMonitor@0
观察针对活动警报配置的经典 Azure Monitor 规则。
查询工作项
queryWorkItems@0
执行工作项查询并检查返回的项数。
查看应用
ReviewApp@0
在部署阶段提供程序下使用此任务动态创建资源。
Service Fabric PowerShell
ServiceFabricPowerShell@1
在 Azure Service Fabric 群集连接的上下文中运行 PowerShell 脚本。
Shell 脚本
ShellScript@2
使用 Bash 运行 shell 脚本。
更新 Service Fabric 应用版本
ServiceFabricUpdateAppVersions@1
自动更新打包的 Service Fabric 应用程序的版本。
更新 Service Fabric 清单
ServiceFabricUpdateManifests@2
自动更新打包的 Azure Service Fabric 应用程序中应用程序和服务清单的部分。
Xamarin 许可证
XamarinLicense@1
[已弃用]升级到 Xamarin 的免费版本: https://store.xamarin.com

生成任务

任务 说明
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。
Android 内部版本
AndroidBuild@1
AndroidBuild@1已弃用。 使用 Gradle。
Android 签名
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
对 Android APK 文件进行签名和对齐。

Ant@1
使用 Apache Ant 生成。
Azure IoT Edge
AzureIoTEdge@2
生成和部署 Azure IoT Edge 映像。
CMake
CMake@1
使用 CMake 跨平台生成系统进行生成。
容器生成
ContainerBuild@0
容器生成任务。
Docker
Docker@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器,或运行 Docker 命令。
Docker Compose
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。
下载 GitHub Nuget 包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
Go
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
Gradle
Gradle@3
Gradle@2
Gradle@1
使用 Gradle 包装器脚本生成。
Grunt
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 基于流式处理任务的生成系统。
为源编制索引并发布符号
PublishSymbols@2
PublishSymbols@1
为源代码编制索引,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
在 Jenkins 服务器上将作业排队。
Jenkins 队列作业
JenkinsQueueJob@1
在 Jenkins 服务器上将作业排队。
Maven
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成、测试和部署。
MSBuild
MSBuild@1
使用 MSBuild 生成。
Visual Studio 生成
VSBuild@1
使用 MSBuild 生成并设置 Visual Studio 版本属性。
Xamarin.Android
XamarinAndroid@1
使用 Xamarin 生成 Android 应用。
Xamarin.iOS
XamariniOS@2
XamariniOS@1
在 macOS 上使用 Xamarin 生成 iOS 应用。
Xcode
Xcode@5
Xcode@4
在 macOS 上生成、测试或存档 Xcode 工作区。 (可选)打包应用。
Xcode 生成
Xcode@3
Xcode@2
在 macOS 上生成 Xcode 工作区。
Xcode 包 iOS
XcodePackageiOS@0
使用 xcrun (Xcode 7 或更低) 从 Xcode 生成输出生成 .ipa 文件。

部署任务

任务 说明
App Center 分发
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
AppCenterDistribute@0
通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
ARM 模板部署
AzureResourceManagerTemplateDeployment@3
将 Azure 资源管理器 (ARM) 模板部署到所有部署范围。
Azure 应用服务经典 (已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署到Azure 应用服务 Web、移动或 API 应用。
Azure 应用服务管理
AzureAppServiceManage@0
启动、停止、重启、槽交换、删除槽、安装站点扩展或为Azure 应用服务启用持续监视。
Azure 应用服务设置
AzureAppServiceSettings@1
更新/添加适用于 Linux 或 Windows 的 Azure Web 应用的应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在 Linux 代理上运行时,针对 PowerShell Core/Shell 脚本中的 Azure 订阅运行 Azure CLI 命令,在 Windows 代理上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI 预览版
AzureCLI@0
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure 云服务部署
AzureCloudPowerShellDeployment@1
部署 Azure 云服务。
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本并更改Azure Database for MySQL。
Azure 文件复制
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到Azure Blob 存储或虚拟机。
Kubernetes 上的 Azure 函数
AzureFunctionOnKubernetes@0
将 Azure 函数部署到 Kubernetes 群集。
Azure Functions部署
AzureFunctionApp@1
使用 .NET、Python、JavaScript、PowerShell、基于 Java 的 Web 应用程序更新函数应用。
适用于容器的 Azure Functions
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure Key Vault
AzureKeyVault@2
AzureKeyVault@1
下载 Azure 密钥保管库机密。
Azure Monitor 警报 (弃用)
AzureMonitorAlerts@0
针对 Azure 资源的可用指标配置警报, (已弃用) 。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
将 Azure 资源管理器 (ARM) 模板部署到资源组并管理虚拟机。
Azure 资源组部署
AzureResourceGroupDeployment@1
部署、启动、停止、删除 Azure 资源组。
Azure Spring Apps
AzureSpringCloud@0
将应用程序部署到 Azure Spring Apps 并管理部署。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
使用 DACPAC 部署 Azure SQL 数据库,或使用 SQLCMD 运行脚本。
Azure VM 规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure Web 应用
AzureWebApp@1
部署适用于 Linux 或 Windows 的 Azure Web 应用。
用于容器的 Azure Web 应用
AzureWebAppContainer@1
将容器部署到Azure 应用服务。
生成计算机映像
PackerBuild@1
PackerBuild@0
使用 Packer 生成计算机映像,该映像可用于 Azure 虚拟机规模集部署。
检查 Azure Policy 合规性
AzurePolicyCheckGate@0
Azure Policy的安全性和合规性评估。
Chef
Chef@1
通过编辑环境属性部署到 Chef 环境。
Chef Knife
ChefKnife@1
在 Chef 工作站上使用 Knife 命令运行脚本。
通过 SSH 复制文件
CopyFilesOverSSH@0
通过 SSH 将文件或生成项目复制到远程计算机。
部署到 Kubernetes
KubernetesManifest@0
使用 Kubernetes 清单文件部署到群集,甚至使用 Helm 图表烘焙要用于部署的清单文件。
IIS Web 应用部署
IISWebAppDeploymentOnMachineGroup@0
使用 Web 部署部署网站或 Web 应用程序。
IIS Web 应用部署 (已弃用)
IISWebAppDeployment@1
使用 MSDeploy 进行部署,然后创建/更新网站和应用池。
IIS Web 应用管理
IISWebAppManagementOnMachineGroup@0
创建或更新网站、Web 应用、虚拟目录或应用程序池。
调用 REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
调用 REST API 作为管道的一部分。
Kubectl
Kubernetes@1
Kubernetes@0
通过运行 kubectl 命令在 Azure 容器服务中部署、配置、更新 Kubernetes 群集。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。
手动验证
ManualValidation@0
[预览]暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行 helm 命令在 Azure 容器服务中部署、配置、更新 Kubernetes 群集。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
使用 PSSession 和用于远程处理 Invoke-Command 在远程计算机上执行 PowerShell 脚本。
目标虚拟机上的 PowerShell
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
在远程计算机上 () 执行 PowerShell 脚本。
Service Fabric 应用程序部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用程序部署到群集。
Service Fabric Compose 部署
ServiceFabricComposeDeploy@0
将 Docker Compose 应用程序部署到 Azure Service Fabric 群集。
SQL Server数据库部署
SqlDacpacDeploymentOnMachineGroup@0
使用 DACPAC 或 SQL 脚本部署SQL Server数据库。
SQL Server数据库部署 (弃用)
SqlServerDacpacDeployment@1
使用 DACPAC 部署SQL Server数据库。
SSH
SSH@0
使用 SSH 在远程计算机上运行 shell 命令或脚本。
Windows 计算机文件复制
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
将文件复制到远程 Windows 计算机。

包任务

任务 说明
CocoaPods
CocoaPods@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 conda直接在脚本中使用 以使用 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从 GitHub 安装 npm 包。
Maven 身份验证
MavenAuthenticate@0
提供 Azure Artifacts 源和外部 maven 存储库的凭据。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如 Azure Artifacts。
npm 对任务运行程序 (进行身份验证)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这样,gulp 和 Grunt 等 npm 任务运行程序就能向专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 NuGet.org 和经过身份验证的源,例如 Azure Artifacts 和 MyGet。 使用 NuGet.exe 以及 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
NuGet 身份验证
NuGetAuthenticate@1
NuGetAuthenticate@0
配置 NuGet 工具,使其向 Azure Artifacts 和其他 NuGet 存储库进行身份验证。 需要 NuGet >= 4.8.5385、dotnet >= 6 或 MSBuild >= 15.8.166.59604。
NuGet 命令
NuGet@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 安装程序
NuGetInstaller@0
安装或还原缺少的 NuGet 包。 使用NuGetAuthenticate@0任务获取最新功能。
NuGet 打包程序
NuGetPackager@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 发布者
NuGetPublisher@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 还原
NuGetRestore@1
还原 NuGet 包,为 Visual Studio 生成步骤做准备。
PyPI 发布者
PyPIPublisher@0
使用 Twine 创建 sdist 或 wheel 并将其上传到 PyPI 兼容的索引。
Python pip 身份验证
PipAuthenticate@1
PipAuthenticate@0
用于安装 Python 分发版的 pip 客户端的身份验证任务。
Python 孪生上传身份验证
TwineAuthenticate@1
TwineAuthenticate@0
使用孪生对上传 Python 分发版进行身份验证。 将“-r FeedName/EndpointName --config-file $ (PYPIRC_PATH) ”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库 (-r) 。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。
Xamarin 组件还原
XamarinComponentRestore@0
此任务已弃用。 请改用“NuGet”。

测试任务

任务 说明
App Center 测试
AppCenterTest@1
使用 Visual Studio App Center 测试应用包。
容器结构测试
ContainerStructureTest@0
使用 container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) 基于四个测试类别(命令测试、文件存在测试、文件内容测试和元数据测试)来验证映像的结构。
Mobile Center 测试
VSMobileCenterTest@0
使用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@1
发布生成中的 Cobertura 或 JaCoCoCo 代码覆盖率结果。
发布测试结果
PublishTestResults@1
将测试结果发布到 Azure Pipelines。
发布测试结果
PublishTestResults@2
将测试结果发布到 Azure Pipelines。
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务 (Visual Studio 测试代理部署) 已弃用。 请改用“Visual Studio 测试”任务。 VSTest 任务可以运行单元测试以及功能测试。 使用多代理作业设置在一个或多个代理上运行测试。 使用“Visual Studio 测试平台”任务运行测试,而无需在代理上使用 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
使用 Visual Studio 测试 (VsTest) 运行器 (Selenium、Appium、编码的 UI 测试等 ) 运行单元和功能测试。 可以使用 QUnit、Mocha 和 Jasmine) 等具有用于 JavaScript 测试的 Visual Studio 测试适配器(例如 MsTest、xUnit、NUnit、Chutzpah ()的测试框架。 可以使用此任务 (版本 2) 在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@1
部署并配置测试代理以在一组计算机上运行测试。
Xamarin 测试云
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin Test Cloud 测试移动应用。 请改用“App Center 测试”任务。

工具任务

任务 说明
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Docker CLI 安装程序
DockerInstaller@0
在代理计算机上安装 Docker CLI。
Duffle 工具安装程序
DuffleInstaller@0
安装指定版本的 Duffle 以安装和管理 CNAB 捆绑包。
Go 工具安装程序
GoTool@0
在缓存中查找或下载特定版本的 Go 并将其添加到 PATH。
Helm 工具安装程序
HelmInstaller@1
HelmInstaller@0
在代理计算机上安装 Helm。
安装 Azure Func 核心工具
FuncToolsInstaller@0
安装 Azure Func Core Tools。
Java 工具安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存获取特定版本的 Java,并设置JAVA_HOME。
Kubectl 工具安装程序
KubectlInstaller@0
在代理计算机上安装 Kubectl。
NuGet 工具安装程序
NuGetToolInstaller@1
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet,并将其添加到 PATH。 使用此任务更改 NuGet 任务中使用的 NuGet 版本。
使用 .NET Core
UseDotNet@2
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。 使用此任务可更改后续任务中使用的 .NET Core 版本。 此外,还提供代理支持。
使用 Node.js 生态系统
UseNode@1
NodeTool@0
设置 Node.js 环境并将其添加到 PATH,另外提供代理支持。
使用 Python 版本
UsePythonVersion@0
使用工具缓存中的指定版本的 Python,可以选择将其添加到 PATH。
使用 Ruby 版本
UseRubyVersion@0
使用工具缓存中的指定版本的 Ruby,可以选择将其添加到 PATH。
Visual Studio 测试平台安装程序
VisualStudioTestPlatformInstaller@1
从 nuget.org 或工具缓存获取测试平台。 满足“vstest”需求,可用于运行测试和使用 Visual Studio 测试任务收集诊断数据。

实用工具任务

任务 说明
存档文件
ArchiveFiles@2
将文件压缩为.7z、.tar.gz或 .zip。
存档文件
ArchiveFiles@1
使用压缩格式(如.7z、.rar、.tar.gz和 .zip)存档文件。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池或断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
批处理脚本
BatchScript@1
运行 Windows 命令或批处理脚本,并选择性地允许它更改环境。
缓存
Cache@2
在运行之间缓存文件。
Cache (Beta)
CacheBeta@1
CacheBeta@0
在运行之间缓存文件。
命令行
CmdLine@2
CmdLine@1
在 Linux 和 macOS 上使用 Bash、在 Windows 上使用 cmd.exe 运行命令行脚本。
复制和发布生成工件
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1已弃用。 请改用“复制文件”任务和“发布生成项目”任务。
复制文件
CopyFiles@2
使用匹配文件路径的模式将文件从源文件夹复制到目标文件夹 (而不是) 的文件夹路径。
复制文件
CopyFiles@1
使用小型匹配模式将文件从源文件夹复制到目标文件夹 (小型匹配模式将仅匹配文件路径,而不匹配) 的文件夹路径。
cURL 上传文件
cURLUploader@2
cURLUploader@1
使用 cURL 支持的协议上传文件。
(OpenSSL) 解密文件
DecryptFile@1
使用 OpenSSL 解密文件。
延迟
Delay@1
将工作流的进一步执行延迟一定时间。
删除文件
DeleteFiles@1
删除与模式匹配的文件夹或文件。
部署 Azure Static Web App
AzureStaticWebApp@0
生成并部署 Azure 静态 Web 应用。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,如 \share\drop。
下载生成项目
DownloadBuildArtifacts@0
下载保存为已完成生成的项目的文件。
下载 GitHub 发布
DownloadGitHubRelease@0
从存储库下载 GitHub 版本。
下载包
DownloadPackage@1
DownloadPackage@0
从 Azure Artifacts 中的包管理源下载包。
下载管道项目
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
下载生成和管道项目。
下载安全文件
DownloadSecureFile@1
将安全文件下载到代理计算机。
提取文件
ExtractFiles@1
提取各种存档和压缩文件,例如.7z、.rar、.tar.gz和 .zip。
文件转换
FileTransform@2
FileTransform@1
将令牌替换为 XML 或 JSON 配置文件中的变量值。
FTP 上传
FtpUpload@2
FtpUpload@1
使用 FTP 上传文件。
GitHub 注释
GitHubComment@0
将注释写入 GitHub 实体,即问题或拉取请求 (PR) 。
GitHub 版本
GitHubRelease@1
GitHubRelease@0
创建、编辑或删除 GitHub 版本。
安装 Apple 证书
InstallAppleCertificate@2
安装在 macOS 代理计算机上生成所需的 Apple 证书。
安装 Apple 证书
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理上生成所需的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
安装在 macOS 代理计算机上生成所需的 Apple 预配配置文件。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@0
安装在 macOS 代理上生成所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
调用 Azure 函数
AzureFunction@1
AzureFunction@0
调用 Azure 函数。
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
PowerShell
PowerShell@2
PowerShell@1
在 Linux、macOS 或 Windows 上运行 PowerShell 脚本。
发布生成项目
PublishBuildArtifacts@1
将生成项目发布到 Azure Pipelines 或 Windows 文件共享。
发布管道工件
PublishPipelineArtifact@1
PublishPipelineArtifact@0
发布 (上传) 文件或目录作为当前运行的命名项目。
发布管道元数据
PublishPipelineMetadata@0
将管道元数据发布到证据存储。
发布到Azure 服务总线
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用服务连接向Azure 服务总线发送消息 (无需代理) 。
Python 脚本
PythonScript@0
运行 Python 文件或内联脚本。
查询 Azure Monitor 警报
AzureMonitor@1
观察为活动警报配置的 Azure Monitor 规则。
查询经典 Azure Monitor 警报
AzureMonitor@0
观察针对活动警报配置的经典 Azure Monitor 规则。
查询工作项
queryWorkItems@0
执行工作项查询并检查返回的项数。
查看应用
ReviewApp@0
在部署阶段提供程序下使用此任务动态创建资源。
Service Fabric PowerShell
ServiceFabricPowerShell@1
在 Azure Service Fabric 群集连接的上下文中运行 PowerShell 脚本。
Shell 脚本
ShellScript@2
使用 Bash 运行 shell 脚本。
更新 Service Fabric 应用版本
ServiceFabricUpdateAppVersions@1
自动更新打包的 Service Fabric 应用程序的版本。
更新 Service Fabric 清单
ServiceFabricUpdateManifests@2
自动更新打包的 Azure Service Fabric 应用程序中应用程序和服务清单的部分。
Xamarin 许可证
XamarinLicense@1
[已弃用]升级到 Xamarin 的免费版本: https://store.xamarin.com

生成任务

任务 说明
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。
Android 内部版本
AndroidBuild@1
AndroidBuild@1已弃用。 使用 Gradle。
Android 签名
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
对 Android APK 文件进行签名和对齐。

Ant@1
使用 Apache Ant 生成。
Azure IoT Edge
AzureIoTEdge@2
生成和部署 Azure IoT Edge映像。
CMake
CMake@1
使用 CMake 跨平台生成系统进行生成。
容器生成
ContainerBuild@0
容器生成任务。
Docker
Docker@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器或运行 Docker 命令。
Docker Compose
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。
下载 GitHub Nuget 包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
Go
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
Gradle
Gradle@2
Gradle@1
使用 Gradle 包装器脚本生成。
Grunt
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 流式处理基于任务的生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
为源代码编制索引,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
在 Jenkins 服务器上对作业进行排队。
Jenkins 队列作业
JenkinsQueueJob@1
在 Jenkins 服务器上对作业进行排队。
Maven
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成、测试和部署。
MSBuild
MSBuild@1
使用 MSBuild 生成。
Visual Studio 内部版本
VSBuild@1
使用 MSBuild 生成并设置 Visual Studio 版本属性。
Xamarin.Android
XamarinAndroid@1
使用 Xamarin 生成 Android 应用。
Xamarin.iOS
XamariniOS@2
XamariniOS@1
在 macOS 上使用 Xamarin 生成 iOS 应用。
Xcode
Xcode@5
Xcode@4
在 macOS 上生成、测试或存档 Xcode 工作区。 (可选)打包应用。
Xcode 生成
Xcode@3
Xcode@2
在 macOS 上生成 Xcode 工作区。
Xcode 包 iOS
XcodePackageiOS@0
使用 xcrun (Xcode 7 或更低) 从 Xcode 生成输出生成 .ipa 文件。

部署任务

任务 说明
App Center 分发
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
AppCenterDistribute@0
通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
ARM 模板部署
AzureResourceManagerTemplateDeployment@3
将 Azure 资源管理器 (ARM) 模板部署到所有部署范围。
Azure 应用服务经典 (已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署到Azure 应用服务 Web、移动或 API 应用。
Azure 应用服务管理
AzureAppServiceManage@0
启动、停止、重启、槽交换、删除槽、安装站点扩展或为Azure 应用服务启用持续监视。
Azure 应用服务设置
AzureAppServiceSettings@1
更新/添加适用于 Linux 或 Windows 的 Azure Web 应用的应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在 Linux 代理上运行时,针对 PowerShell Core/Shell 脚本中的 Azure 订阅运行 Azure CLI 命令,在 Windows 代理上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI 预览版
AzureCLI@0
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure 云服务部署
AzureCloudPowerShellDeployment@1
部署 Azure 云服务。
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本并更改Azure Database for MySQL。
Azure 文件复制
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到Azure Blob 存储或虚拟机。
Kubernetes 上的 Azure 函数
AzureFunctionOnKubernetes@0
将 Azure 函数部署到 Kubernetes 群集。
Azure Functions部署
AzureFunctionApp@1
使用 .NET、Python、JavaScript、PowerShell、基于 Java 的 Web 应用程序更新函数应用。
适用于容器的 Azure Functions
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure Key Vault
AzureKeyVault@1
下载 Azure 密钥保管库机密。
Azure Monitor 警报 (弃用)
AzureMonitorAlerts@0
针对 Azure 资源的可用指标配置警报, (已弃用) 。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
将 Azure 资源管理器 (ARM) 模板部署到资源组并管理虚拟机。
Azure 资源组部署
AzureResourceGroupDeployment@1
部署、启动、停止、删除 Azure 资源组。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
使用 DACPAC 部署 Azure SQL 数据库,或使用 SQLCMD 运行脚本。
Azure VM 规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure Web 应用
AzureWebApp@1
部署适用于 Linux 或 Windows 的 Azure Web 应用。
用于容器的 Azure Web 应用
AzureWebAppContainer@1
将容器部署到Azure 应用服务。
生成计算机映像
PackerBuild@1
PackerBuild@0
使用 Packer 生成计算机映像,该映像可用于 Azure 虚拟机规模集部署。
检查 Azure Policy 合规性
AzurePolicyCheckGate@0
Azure Policy的安全性和合规性评估。
Chef
Chef@1
通过编辑环境属性部署到 Chef 环境。
Chef Knife
ChefKnife@1
在 Chef 工作站上使用 Knife 命令运行脚本。
通过 SSH 复制文件
CopyFilesOverSSH@0
通过 SSH 将文件或生成项目复制到远程计算机。
部署到 Kubernetes
KubernetesManifest@0
使用 Kubernetes 清单文件部署到群集,甚至使用 Helm 图表烘焙要用于部署的清单文件。
IIS Web 应用部署
IISWebAppDeploymentOnMachineGroup@0
使用 Web 部署部署网站或 Web 应用程序。
IIS Web 应用部署 (已弃用)
IISWebAppDeployment@1
使用 MSDeploy 进行部署,然后创建/更新网站和应用池。
IIS Web 应用管理
IISWebAppManagementOnMachineGroup@0
创建或更新网站、Web 应用、虚拟目录或应用程序池。
调用 REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
将 REST API 作为管道的一部分调用。
Kubectl
Kubernetes@1
Kubernetes@0
通过运行 kubectl 命令在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。
手动验证
ManualValidation@0
[预览]暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行 helm 命令,在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
目标虚拟机上的 PowerShell
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
在远程计算机上执行 PowerShell 脚本 () 。
Service Fabric 应用程序部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用程序部署到群集。
Service Fabric Compose 部署
ServiceFabricComposeDeploy@0
将 Docker Compose 应用程序部署到 Azure Service Fabric 群集。
SQL Server数据库部署
SqlDacpacDeploymentOnMachineGroup@0
使用 DACPAC 或 SQL 脚本部署SQL Server数据库。
SQL Server数据库部署 (弃用)
SqlServerDacpacDeployment@1
使用 DACPAC 部署SQL Server数据库。
SSH
SSH@0
使用 SSH 在远程计算机上运行 shell 命令或脚本。
Windows 计算机文件复制
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
将文件复制到远程 Windows 计算机。

包任务

任务 说明
CocoaPods
CocoaPods@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 conda直接在脚本中使用 以处理 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从 GitHub 安装 npm 包。
Maven 身份验证
MavenAuthenticate@0
提供 Azure Artifacts 源和外部 maven 存储库的凭据。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如 Azure Artifacts。
npm 对任务运行器 (进行身份验证)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这样,gulp 和 Grunt 等 npm 任务运行程序就能向专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 azure Artifacts 和 MyGet 等 NuGet.org 和经过身份验证的源。 使用 NuGet.exe 以及 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
NuGet 身份验证
NuGetAuthenticate@0
配置 NuGet 工具,使其向 Azure Artifacts 和其他 NuGet 存储库进行身份验证。 需要 NuGet >= 4.8.5385、dotnet >= 2.1.400 或 MSBuild >= 15.8.166.59604。
NuGet 命令
NuGet@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 安装程序
NuGetInstaller@0
安装或还原缺少的 NuGet 包。 使用NuGetAuthenticate@0任务获取最新功能。
NuGet 打包程序
NuGetPackager@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 发布者
NuGetPublisher@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 还原
NuGetRestore@1
还原 NuGet 包,准备执行 Visual Studio 生成步骤。
PyPI 发布者
PyPIPublisher@0
使用 Twine 创建 sdist 或 wheel 并将其上传到 PyPI 兼容的索引。
Python pip 身份验证
PipAuthenticate@1
PipAuthenticate@0
用于安装 Python 分发版的 pip 客户端的身份验证任务。
Python 孪生上传身份验证
TwineAuthenticate@1
TwineAuthenticate@0
使用孪生对上传 Python 分发版进行身份验证。 将“-r FeedName/EndpointName --config-file $ (PYPIRC_PATH) ”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库 (-r) 。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。
Xamarin 组件还原
XamarinComponentRestore@0
此任务已弃用。 请改用“NuGet”。

测试任务

任务 说明
App Center 测试
AppCenterTest@1
使用 Visual Studio App Center 测试应用包。
容器结构测试
ContainerStructureTest@0
使用 container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) 基于四类测试(命令测试、文件存在测试、文件内容测试和元数据测试)来验证映像的结构。
Mobile Center 测试
VSMobileCenterTest@0
使用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@1
发布生成中的 Cobertura 或 JaCoCo 代码覆盖率结果。
发布测试结果
PublishTestResults@1
将测试结果发布到 Azure Pipelines。
发布测试结果
PublishTestResults@2
将测试结果发布到 Azure Pipelines。
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务 (Visual Studio 测试代理部署) 已弃用。 请改用“Visual Studio 测试”任务。 VSTest 任务可以运行单元测试以及功能测试。 使用多代理作业设置在一个或多个代理上运行测试。 使用“Visual Studio 测试平台”任务运行测试,而无需在代理上使用 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
使用 Visual Studio 测试 (VsTest) 运行器运行单元和功能测试, (Selenium、Appium、编码的 UI 测试等 ) 。 可以运行具有 Visual Studio 测试适配器的测试框架,例如 MsTest、xUnit、NUnit、Chutzpah (,用于使用 QUnit、Mocha 和 Jasmine) 等进行 JavaScript 测试。 可以使用此任务 (版本 2) 在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@1
部署并配置测试代理,以在一组计算机上运行测试。
Xamarin 测试云
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin Test Cloud 测试移动应用。 请改用“App Center 测试”任务。

工具任务

任务 说明
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Docker CLI 安装程序
DockerInstaller@0
在代理计算机上安装 Docker CLI。
Duffle 工具安装程序
DuffleInstaller@0
安装指定版本的 Duffle 以安装和管理 CNAB 捆绑包。
Go 工具安装程序
GoTool@0
在缓存中查找或下载特定版本的 Go 并将其添加到 PATH。
Helm 工具安装程序
HelmInstaller@1
HelmInstaller@0
在代理计算机上安装 Helm。
安装 Azure Func Core Tools
FuncToolsInstaller@0
安装 Azure Func Core Tools。
Java 工具安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存获取特定版本的 Java,并设置JAVA_HOME。
Kubectl 工具安装程序
KubectlInstaller@0
在代理计算机上安装 Kubectl。
NuGet 工具安装程序
NuGetToolInstaller@1
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet,并将其添加到 PATH。 使用此任务更改 NuGet 任务中使用的 NuGet 版本。
使用 .NET Core
UseDotNet@2
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。 使用此任务可更改后续任务中使用的 .NET Core 版本。 此外,还提供代理支持。
使用 Node.js 生态系统
UseNode@1
NodeTool@0
设置 Node.js 环境并将其添加到 PATH,另外提供代理支持。
使用 Python 版本
UsePythonVersion@0
使用工具缓存中的指定版本的 Python,可以选择将其添加到 PATH。
使用 Ruby 版本
UseRubyVersion@0
使用工具缓存中的指定版本的 Ruby,可以选择将其添加到 PATH。
Visual Studio 测试平台安装程序
VisualStudioTestPlatformInstaller@1
从 nuget.org 或工具缓存获取测试平台。 满足“vstest”需求,可用于运行测试和使用 Visual Studio 测试任务收集诊断数据。

实用工具任务

任务 说明
存档文件
ArchiveFiles@2
将文件压缩为.7z、.tar.gz或 .zip。
存档文件
ArchiveFiles@1
使用压缩格式(如.7z、.rar、.tar.gz和 .zip)存档文件。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池或断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
批处理脚本
BatchScript@1
运行 Windows 命令或批处理脚本,并选择性地允许它更改环境。
缓存
Cache@2
在运行之间缓存文件。
Cache (Beta)
CacheBeta@1
CacheBeta@0
在运行之间缓存文件。
命令行
CmdLine@2
CmdLine@1
在 Linux 和 macOS 上使用 Bash、在 Windows 上使用 cmd.exe 运行命令行脚本。
复制和发布生成工件
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1已弃用。 请改用“复制文件”任务和“发布生成项目”任务。
复制文件
CopyFiles@2
使用匹配文件路径的模式将文件从源文件夹复制到目标文件夹 (而不是) 的文件夹路径。
复制文件
CopyFiles@1
使用小型匹配模式将文件从源文件夹复制到目标文件夹 (小型匹配模式将仅匹配文件路径,而不匹配) 的文件夹路径。
cURL 上传文件
cURLUploader@2
cURLUploader@1
使用 cURL 支持的协议上传文件。
(OpenSSL) 解密文件
DecryptFile@1
使用 OpenSSL 解密文件。
延迟
Delay@1
将工作流的进一步执行延迟一定时间。
删除文件
DeleteFiles@1
删除与模式匹配的文件夹或文件。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,如 \share\drop。
下载生成项目
DownloadBuildArtifacts@0
下载保存为已完成生成的项目的文件。
下载 GitHub 发布
DownloadGitHubRelease@0
从存储库下载 GitHub 版本。
下载包
DownloadPackage@1
DownloadPackage@0
从 Azure Artifacts 中的包管理源下载包。
下载管道项目
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
下载生成和管道项目。
下载安全文件
DownloadSecureFile@1
将安全文件下载到代理计算机。
提取文件
ExtractFiles@1
提取各种存档和压缩文件,例如.7z、.rar、.tar.gz和 .zip。
文件转换
FileTransform@2
FileTransform@1
将标记替换为 XML 或 JSON 配置文件中的变量值。
FTP 上传
FtpUpload@2
FtpUpload@1
使用 FTP 上传文件。
GitHub 注释
GitHubComment@0
将注释写入 GitHub 实体,即问题或拉取请求 (PR) 。
GitHub 版本
GitHubRelease@1
GitHubRelease@0
创建、编辑或删除 GitHub 版本。
安装 Apple 证书
InstallAppleCertificate@2
在 macOS 代理计算机上安装生成所需的 Apple 证书。
安装 Apple 证书
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理上生成所需的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
安装在 macOS 代理计算机上生成所需的 Apple 预配配置文件。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@0
安装在 macOS 代理上生成所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
调用 Azure 函数
AzureFunction@1
AzureFunction@0
调用 Azure 函数。
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
PowerShell
PowerShell@2
PowerShell@1
在 Linux、macOS 或 Windows 上运行 PowerShell 脚本。
发布生成项目
PublishBuildArtifacts@1
将生成项目发布到 Azure Pipelines 或 Windows 文件共享。
发布管道工件
PublishPipelineArtifact@1
PublishPipelineArtifact@0
发布 (上传) 文件或目录作为当前运行的命名项目。
发布管道元数据
PublishPipelineMetadata@0
将管道元数据发布到证据存储。
发布到Azure 服务总线
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用服务连接向Azure 服务总线发送消息, (无需) 代理。
Python 脚本
PythonScript@0
运行 Python 文件或内联脚本。
查询 Azure Monitor 警报
AzureMonitor@1
观察针对活动警报配置的 Azure Monitor 规则。
查询经典 Azure Monitor 警报
AzureMonitor@0
观察为活动警报配置的经典 Azure Monitor 规则。
查询工作项
queryWorkItems@0
执行工作项查询并检查返回的项数。
查看应用
ReviewApp@0
在部署阶段提供程序下使用此任务动态创建资源。
Service Fabric PowerShell
ServiceFabricPowerShell@1
在 Azure Service Fabric 群集连接的上下文中运行 PowerShell 脚本。
Shell 脚本
ShellScript@2
使用 Bash 运行 shell 脚本。
更新 Service Fabric 应用版本
ServiceFabricUpdateAppVersions@1
自动更新打包的 Service Fabric 应用程序的版本。
更新 Service Fabric 清单
ServiceFabricUpdateManifests@2
自动更新打包的 Azure Service Fabric 应用程序中应用程序和服务清单的部分内容。
Xamarin 许可证
XamarinLicense@1
[已弃用]升级到 Xamarin 的免费版本: https://store.xamarin.com

生成任务

任务 说明
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。
Android 内部版本
AndroidBuild@1
AndroidBuild@1已弃用。 使用 Gradle。
Android 签名
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
对 Android APK 文件进行签名和对齐。

Ant@1
使用 Apache Ant 生成。
Azure IoT Edge
AzureIoTEdge@2
生成和部署 Azure IoT Edge映像。
CMake
CMake@1
使用 CMake 跨平台生成系统进行生成。
容器生成
ContainerBuild@0
容器生成任务。
Docker
Docker@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销,或运行 Docker 命令。
Docker Compose
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。
下载 GitHub Nuget 包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
Go
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
Gradle
Gradle@2
Gradle@1
使用 Gradle 包装器脚本生成。
Grunt
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 流式处理基于任务的生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
为源代码编制索引,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
在 Jenkins 服务器上对作业进行排队。
Jenkins 队列作业
JenkinsQueueJob@1
在 Jenkins 服务器上对作业进行排队。
Maven
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成、测试和部署。
MSBuild
MSBuild@1
使用 MSBuild 生成。
Visual Studio 内部版本
VSBuild@1
使用 MSBuild 生成并设置 Visual Studio 版本属性。
Xamarin.Android
XamarinAndroid@1
使用 Xamarin 生成 Android 应用。
Xamarin.iOS
XamariniOS@2
XamariniOS@1
在 macOS 上使用 Xamarin 生成 iOS 应用。
Xcode
Xcode@5
Xcode@4
在 macOS 上生成、测试或存档 Xcode 工作区。 (可选)打包应用。
Xcode 生成
Xcode@3
Xcode@2
在 macOS 上生成 Xcode 工作区。
Xcode 包 iOS
XcodePackageiOS@0
使用 xcrun (Xcode 7 或更低) 从 Xcode 生成输出生成 .ipa 文件。

部署任务

任务 说明
App Center 分发
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
AppCenterDistribute@0
通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
ARM 模板部署
AzureResourceManagerTemplateDeployment@3
将 Azure 资源管理器 (ARM) 模板部署到所有部署范围。
Azure 应用服务经典 (已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署到Azure 应用服务 Web、移动或 API 应用。
Azure 应用服务管理
AzureAppServiceManage@0
启动、停止、重启、槽交换、槽删除、安装站点扩展或为Azure 应用服务启用持续监视。
Azure 应用服务设置
AzureAppServiceSettings@1
更新/添加适用于 Linux 或 Windows 的 Azure Web 应用的应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在 Linux 代理上运行时,在 PowerShell Core/Shell 脚本中针对 Azure 订阅运行 Azure CLI 命令,在 Windows 代理上运行时,针对 PowerShell/Powershell Core/Batch 脚本运行。
Azure CLI 预览版
AzureCLI@0
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure 云服务部署
AzureCloudPowerShellDeployment@1
部署 Azure 云服务。
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本并更改Azure Database for MySQL。
Azure 文件复制
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到Azure Blob 存储或虚拟机。
Kubernetes 上的 Azure 函数
AzureFunctionOnKubernetes@0
将 Azure 函数部署到 Kubernetes 群集。
Azure Functions 部署
AzureFunctionApp@1
使用 .NET、Python、JavaScript、PowerShell、基于 Java 的 Web 应用程序更新函数应用。
适用于容器的 Azure Functions
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure Key Vault
AzureKeyVault@1
下载 Azure 密钥保管库机密。
Azure Monitor 警报 (弃用)
AzureMonitorAlerts@0
针对 Azure 资源的可用指标配置警报, (弃用) 。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
将 Azure 资源管理器 (ARM) 模板部署到资源组并管理虚拟机。
Azure 资源组部署
AzureResourceGroupDeployment@1
部署、启动、停止、删除 Azure 资源组。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
使用 DACPAC 部署 Azure SQL 数据库,或使用 SQLCMD 运行脚本。
Azure VM 规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure Web 应用
AzureWebApp@1
部署适用于 Linux 或 Windows 的 Azure Web 应用。
用于容器的 Azure Web 应用
AzureWebAppContainer@1
将容器部署到Azure 应用服务。
生成计算机映像
PackerBuild@1
PackerBuild@0
使用 Packer 生成计算机映像,该映像可用于 Azure 虚拟机规模集部署。
检查 Azure Policy 合规性
AzurePolicyCheckGate@0
Azure Policy的安全性和合规性评估。
Chef
Chef@1
通过编辑环境属性部署到 Chef 环境。
Chef Knife
ChefKnife@1
在 Chef 工作站上使用 Knife 命令运行脚本。
通过 SSH 复制文件
CopyFilesOverSSH@0
通过 SSH 将文件或生成项目复制到远程计算机。
部署到 Kubernetes
KubernetesManifest@0
使用 Kubernetes 清单文件部署到群集,甚至可以使用 Helm 图表制作要用于部署的清单文件。
IIS Web 应用部署
IISWebAppDeploymentOnMachineGroup@0
使用 Web 部署部署网站或 Web 应用程序。
IIS Web 应用部署 (已弃用)
IISWebAppDeployment@1
使用 MSDeploy 进行部署,然后创建/更新网站和应用池。
IIS Web 应用管理
IISWebAppManagementOnMachineGroup@0
创建或更新网站、Web 应用、虚拟目录或应用程序池。
调用 REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
调用 REST API 作为管道的一部分。
Kubectl
Kubernetes@1
Kubernetes@0
通过运行 kubectl 命令在 Azure 容器服务中部署、配置、更新 Kubernetes 群集。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行 helm 命令,在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
目标虚拟机上的 PowerShell
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
在远程计算机上执行 PowerShell 脚本 () 。
Service Fabric 应用程序部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用程序部署到群集。
Service Fabric Compose 部署
ServiceFabricComposeDeploy@0
将 Docker Compose 应用程序部署到 Azure Service Fabric 群集。
SQL Server数据库部署
SqlDacpacDeploymentOnMachineGroup@0
使用 DACPAC 或 SQL 脚本部署SQL Server数据库。
SQL Server数据库部署 (弃用)
SqlServerDacpacDeployment@1
使用 DACPAC 部署SQL Server数据库。
SSH
SSH@0
使用 SSH 在远程计算机上运行 shell 命令或脚本。
Windows 计算机文件复制
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
将文件复制到远程 Windows 计算机。

包任务

任务 说明
CocoaPods
CocoaPods@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 conda直接在脚本中使用 以处理 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从 GitHub 安装 npm 包。
Maven 身份验证
MavenAuthenticate@0
提供 Azure Artifacts 源和外部 maven 存储库的凭据。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如 Azure Artifacts。
npm 对任务运行器 (进行身份验证)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这样,gulp 和 Grunt 等 npm 任务运行程序就能向专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 azure Artifacts 和 MyGet 等 NuGet.org 和经过身份验证的源。 使用 NuGet.exe 以及 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
NuGet 身份验证
NuGetAuthenticate@0
配置 NuGet 工具,使其向 Azure Artifacts 和其他 NuGet 存储库进行身份验证。 需要 NuGet >= 4.8.5385、dotnet >= 2.1.400 或 MSBuild >= 15.8.166.59604。
NuGet 命令
NuGet@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 安装程序
NuGetInstaller@0
安装或还原缺少的 NuGet 包。 使用NuGetAuthenticate@0任务获取最新功能。
NuGet 打包程序
NuGetPackager@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 发布者
NuGetPublisher@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此组织/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 还原
NuGetRestore@1
还原 NuGet 包,为 Visual Studio 生成步骤做准备。
PyPI 发布者
PyPIPublisher@0
使用 Twine 创建 sdist 或 wheel 并将其上传到 PyPI 兼容的索引。
Python pip 身份验证
PipAuthenticate@1
PipAuthenticate@0
用于安装 Python 分发版的 pip 客户端的身份验证任务。
Python 孪生上传身份验证
TwineAuthenticate@1
TwineAuthenticate@0
使用孪生对上传 Python 分发版进行身份验证。 将“-r FeedName/EndpointName --config-file $ (PYPIRC_PATH) ”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库 (-r) 。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。
Xamarin 组件还原
XamarinComponentRestore@0
此任务已弃用。 请改用“NuGet”。

测试任务

任务 说明
App Center 测试
AppCenterTest@1
使用 Visual Studio App Center 测试应用包。
容器结构测试
ContainerStructureTest@0
使用 container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) 基于四类测试(命令测试、文件存在测试、文件内容测试和元数据测试)来验证映像的结构。
Mobile Center 测试
VSMobileCenterTest@0
使用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@1
发布生成中的 Cobertura 或 JaCoCo 代码覆盖率结果。
发布测试结果
PublishTestResults@1
将测试结果发布到 Azure Pipelines。
发布测试结果
PublishTestResults@2
将测试结果发布到 Azure Pipelines。
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务 (Visual Studio 测试代理部署) 已弃用。 请改用“Visual Studio 测试”任务。 VSTest 任务可以运行单元测试以及功能测试。 使用多代理作业设置在一个或多个代理上运行测试。 使用“Visual Studio 测试平台”任务运行测试,而无需在代理上使用 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
使用 Visual Studio 测试 (VsTest) 运行器运行单元和功能测试, (Selenium、Appium、编码的 UI 测试等 ) 。 可以运行具有 Visual Studio 测试适配器的测试框架,例如 MsTest、xUnit、NUnit、Chutzpah (,用于使用 QUnit、Mocha 和 Jasmine) 等进行 JavaScript 测试。 可以使用此任务 (版本 2) 在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@1
部署并配置测试代理,以在一组计算机上运行测试。
Xamarin 测试云
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin Test Cloud 测试移动应用。 请改用“App Center 测试”任务。

工具任务

任务 说明
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Docker CLI 安装程序
DockerInstaller@0
在代理计算机上安装 Docker CLI。
Duffle 工具安装程序
DuffleInstaller@0
安装指定版本的 Duffle 以安装和管理 CNAB 捆绑包。
Go 工具安装程序
GoTool@0
在缓存中查找或下载特定版本的 Go 并将其添加到 PATH。
Helm 工具安装程序
HelmInstaller@1
HelmInstaller@0
在代理计算机上安装 Helm。
安装 Azure Func Core Tools
FuncToolsInstaller@0
安装 Azure Func Core Tools。
Java 工具安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存获取特定版本的 Java,并设置JAVA_HOME。
Kubectl 工具安装程序
KubectlInstaller@0
在代理计算机上安装 Kubectl。
NuGet 工具安装程序
NuGetToolInstaller@1
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet,并将其添加到 PATH。 使用此任务更改 NuGet 任务中使用的 NuGet 版本。
使用 .NET Core
UseDotNet@2
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。 使用此任务可更改后续任务中使用的 .NET Core 版本。 此外,还提供代理支持。
使用 Node.js 生态系统
UseNode@1
NodeTool@0
设置 Node.js 环境并将其添加到 PATH,另外提供代理支持。
使用 Python 版本
UsePythonVersion@0
使用工具缓存中的指定版本的 Python,可以选择将其添加到 PATH。
使用 Ruby 版本
UseRubyVersion@0
使用工具缓存中的指定版本的 Ruby,可以选择将其添加到 PATH。
Visual Studio 测试平台安装程序
VisualStudioTestPlatformInstaller@1
从 nuget.org 或工具缓存获取测试平台。 满足“vstest”需求,可用于运行测试和使用 Visual Studio 测试任务收集诊断数据。

实用工具任务

任务 说明
存档文件
ArchiveFiles@2
将文件压缩为.7z、.tar.gz或 .zip。
存档文件
ArchiveFiles@1
使用压缩格式(如.7z、.rar、.tar.gz和 .zip)存档文件。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池或断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
批处理脚本
BatchScript@1
运行 Windows 命令或批处理脚本,并选择性地允许它更改环境。
缓存
Cache@2
在运行之间缓存文件。
Cache (Beta)
CacheBeta@1
CacheBeta@0
在运行之间缓存文件。
命令行
CmdLine@2
CmdLine@1
在 Linux 和 macOS 上使用 Bash、在 Windows 上使用 cmd.exe 运行命令行脚本。
复制和发布生成工件
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1已弃用。 请改用“复制文件”任务和“发布生成项目”任务。
复制文件
CopyFiles@2
使用匹配文件路径的模式将文件从源文件夹复制到目标文件夹 (而不是) 的文件夹路径。
复制文件
CopyFiles@1
使用小型匹配模式将文件从源文件夹复制到目标文件夹 (小型匹配模式将仅匹配文件路径,而不匹配) 的文件夹路径。
cURL 上传文件
cURLUploader@2
cURLUploader@1
使用 cURL 支持的协议上传文件。
(OpenSSL) 解密文件
DecryptFile@1
使用 OpenSSL 解密文件。
延迟
Delay@1
将工作流的进一步执行延迟一定时间。
删除文件
DeleteFiles@1
删除与模式匹配的文件夹或文件。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,如 \share\drop。
下载生成项目
DownloadBuildArtifacts@0
下载保存为已完成生成的项目的文件。
下载 GitHub 发布
DownloadGitHubRelease@0
从存储库下载 GitHub 版本。
下载包
DownloadPackage@1
DownloadPackage@0
从 Azure Artifacts 中的包管理源下载包。
下载管道项目
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
下载生成和管道项目。
下载安全文件
DownloadSecureFile@1
将安全文件下载到代理计算机。
提取文件
ExtractFiles@1
提取各种存档和压缩文件,例如.7z、.rar、.tar.gz和 .zip。
文件转换
FileTransform@2
FileTransform@1
将标记替换为 XML 或 JSON 配置文件中的变量值。
FTP 上传
FtpUpload@2
FtpUpload@1
使用 FTP 上传文件。
GitHub 注释
GitHubComment@0
将注释写入 GitHub 实体,即问题或拉取请求 (PR) 。
GitHub 版本
GitHubRelease@1
GitHubRelease@0
创建、编辑或删除 GitHub 版本。
安装 Apple 证书
InstallAppleCertificate@2
在 macOS 代理计算机上安装生成所需的 Apple 证书。
安装 Apple 证书
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理上生成所需的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
安装在 macOS 代理计算机上生成所需的 Apple 预配配置文件。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@0
安装在 macOS 代理上生成所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
调用 Azure 函数
AzureFunction@1
AzureFunction@0
调用 Azure 函数。
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
PowerShell
PowerShell@2
PowerShell@1
在 Linux、macOS 或 Windows 上运行 PowerShell 脚本。
发布生成项目
PublishBuildArtifacts@1
将生成项目发布到 Azure Pipelines 或 Windows 文件共享。
发布管道工件
PublishPipelineArtifact@1
PublishPipelineArtifact@0
发布 (上传) 文件或目录作为当前运行的命名项目。
发布管道元数据
PublishPipelineMetadata@0
将管道元数据发布到证据存储。
发布到Azure 服务总线
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用服务连接向Azure 服务总线发送消息, (无需) 代理。
Python 脚本
PythonScript@0
运行 Python 文件或内联脚本。
查询 Azure Monitor 警报
AzureMonitor@1
观察针对活动警报配置的 Azure Monitor 规则。
查询经典 Azure Monitor 警报
AzureMonitor@0
观察为活动警报配置的经典 Azure Monitor 规则。
查询工作项
queryWorkItems@0
执行工作项查询并检查返回的项数。
查看应用
ReviewApp@0
在部署阶段提供程序下使用此任务动态创建资源。
Service Fabric PowerShell
ServiceFabricPowerShell@1
在 Azure Service Fabric 群集连接的上下文中运行 PowerShell 脚本。
Shell 脚本
ShellScript@2
使用 Bash 运行 shell 脚本。
更新 Service Fabric 应用版本
ServiceFabricUpdateAppVersions@1
自动更新打包的 Service Fabric 应用程序的版本。
更新 Service Fabric 清单
ServiceFabricUpdateManifests@2
自动更新打包的 Azure Service Fabric 应用程序中应用程序和服务清单的部分内容。
Xamarin 许可证
XamarinLicense@1
[已弃用]升级到 Xamarin 的免费版本: https://store.xamarin.com

生成任务

任务 说明
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。
Android 内部版本
AndroidBuild@1
AndroidBuild@1已弃用。 使用 Gradle。
Android 签名
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
对 Android APK 文件进行签名和对齐。

Ant@1
使用 Apache Ant 生成。
Azure IoT Edge
AzureIoTEdge@2
生成和部署 Azure IoT Edge 映像。
CMake
CMake@1
使用 CMake 跨平台生成系统进行生成。
Docker
Docker@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销,或运行 Docker 命令。
Docker Compose
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。
Go
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
Gradle
Gradle@2
Gradle@1
使用 Gradle 包装器脚本生成。
Grunt
Grunt@0
运行 Grunt JavaScript 任务运行程序。
Gulp
Gulp@1
Gulp@0
Node.js 基于流式处理任务的生成系统。
为源编制索引并发布符号
PublishSymbols@2
PublishSymbols@1
为源代码编制索引,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
在 Jenkins 服务器上将作业排队。
Jenkins 队列作业
JenkinsQueueJob@1
在 Jenkins 服务器上将作业排队。
Maven
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成、测试和部署。
MSBuild
MSBuild@1
使用 MSBuild 生成。
Visual Studio 生成
VSBuild@1
使用 MSBuild 生成并设置 Visual Studio 版本属性。
Xamarin.Android
XamarinAndroid@1
使用 Xamarin 生成 Android 应用。
Xamarin.iOS
XamariniOS@2
XamariniOS@1
在 macOS 上使用 Xamarin 生成 iOS 应用。
Xcode
Xcode@5
Xcode@4
在 macOS 上生成、测试或存档 Xcode 工作区。 (可选)打包应用。
Xcode 生成
Xcode@3
Xcode@2
在 macOS 上生成 Xcode 工作区。
Xcode 包 iOS
XcodePackageiOS@0
使用 xcrun (Xcode 7 或更低) 从 Xcode 生成输出生成 .ipa 文件。

部署任务

任务 说明
App Center 分发
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
AppCenterDistribute@0
通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
Azure 应用服务经典 (已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
使用 Docker、Java、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署到Azure 应用服务 Web、移动或 API 应用。
Azure 应用服务管理
AzureAppServiceManage@0
启动、停止、重启、交换槽、安装站点扩展或为Azure 应用服务启用持续监视。
Azure CLI
AzureCLI@1
在 Linux 代理上运行时,针对 Shell 脚本中的 Azure 订阅运行 Azure CLI 命令,在 Windows 代理上运行 Batch 脚本。
Azure CLI 预览版
AzureCLI@0
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure 云服务部署
AzureCloudPowerShellDeployment@1
部署 Azure 云服务。
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本并更改Azure Database for MySQL。
Azure 文件复制
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到Azure Blob 存储或虚拟机。
适用于容器的 Azure 函数
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure Functions部署
AzureFunctionApp@1
部署适用于 Linux 或 Windows 的 Azure 函数。
Azure Key Vault
AzureKeyVault@1
下载 Azure 密钥保管库机密。
Azure Monitor 警报
AzureMonitorAlerts@0
在 Azure 资源的可用指标上配置警报。
Azure PowerShell
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
将 Azure 资源管理器 (ARM) 模板部署到资源组并管理虚拟机。
Azure 资源组部署
AzureResourceGroupDeployment@1
部署、启动、停止、删除 Azure 资源组。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
使用 DACPAC 部署 Azure SQL 数据库,或使用 SQLCMD 运行脚本。
Azure VM 规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure Web 应用
AzureWebApp@1
部署适用于 Linux 或 Windows 的 Azure Web 应用。
用于容器的 Azure Web 应用
AzureWebAppContainer@1
将容器部署到Azure 应用服务。
生成计算机映像
PackerBuild@1
PackerBuild@0
使用 Packer 生成计算机映像,该映像可用于 Azure 虚拟机规模集部署。
检查 Azure Policy 合规性
AzurePolicyCheckGate@0
Azure Policy的安全性和合规性评估。
Chef
Chef@1
通过编辑环境属性部署到 Chef 环境。
Chef Knife
ChefKnife@1
在 Chef 工作站上使用 Knife 命令运行脚本。
通过 SSH 复制文件
CopyFilesOverSSH@0
通过 SSH 将文件或生成项目复制到远程计算机。
部署 Kubernetes 清单
KubernetesManifest@0
使用 Kubernetes 清单文件部署到群集,甚至使用 Helm 图表烘焙要用于部署的清单文件。
部署到 Kubernetes
Kubernetes@1
Kubernetes@0
通过运行 kubectl 命令在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
IIS Web 应用部署
IISWebAppDeploymentOnMachineGroup@0
使用 Web 部署部署网站或 Web 应用程序。
IIS Web 应用部署 (已弃用)
IISWebAppDeployment@1
使用 MSDeploy 进行部署,然后创建/更新网站和应用池。
IIS Web 应用管理
IISWebAppManagementOnMachineGroup@0
创建或更新网站、Web 应用、虚拟目录或应用程序池。
调用 REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
将 REST API 作为管道的一部分调用。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行 helm 命令,在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
目标虚拟机上的 PowerShell
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
在远程计算机上执行 PowerShell 脚本 () 。
Service Fabric 应用程序部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用程序部署到群集。
Service Fabric Compose 部署
ServiceFabricComposeDeploy@0
将 Docker Compose 应用程序部署到 Azure Service Fabric 群集。
SQL Server数据库部署
SqlDacpacDeploymentOnMachineGroup@0
使用 DACPAC 或 SQL 脚本部署SQL Server数据库。
SQL Server数据库部署 (弃用)
SqlServerDacpacDeployment@1
使用 DACPAC 部署SQL Server数据库。
SSH
SSH@0
使用 SSH 在远程计算机上运行 shell 命令或脚本。
Windows 计算机文件复制
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
将文件复制到远程 Windows 计算机。

包任务

任务 说明
CocoaPods
CocoaPods@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 conda直接在脚本中使用 以使用 Anaconda 环境。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如 Azure Artifacts。
npm 对任务运行程序 (进行身份验证)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 Gulp 和 Grunt)可以使用专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 NuGet.org 和经过身份验证的源,例如 Azure Artifacts 和 MyGet。 使用 NuGet.exe 以及 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
NuGet 命令
NuGet@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 安装程序
NuGetInstaller@0
安装或还原缺少的 NuGet 包。
NuGet 打包程序
NuGetPackager@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 发布者
NuGetPublisher@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你无需等待任务更新即可轻松使用新版本的 NuGet,更好地支持此组织/集合外部的经过身份验证的源,并且默认使用 NuGet 4。
NuGet 还原
NuGetRestore@1
还原 NuGet 包,准备执行 Visual Studio 生成步骤。
PyPI 发布者
PyPIPublisher@0
使用 Twine 创建 sdist 或 wheel 并将其上传到 PyPI 兼容的索引。
Python pip 身份验证
PipAuthenticate@0
用于安装 Python 分发版的 pip 客户端的身份验证任务。
Python 孪生上传身份验证
TwineAuthenticate@0
使用孪生对上传 Python 分发版进行身份验证。 将“-r FeedName/EndpointName --config-file $ (PYPIRC_PATH) ”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库 (-r) 。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。
Xamarin 组件还原
XamarinComponentRestore@0
此任务已弃用。 请改用“NuGet”。

测试任务

任务 说明
App Center 测试
AppCenterTest@1
使用 Visual Studio App Center 测试应用包。
Mobile Center 测试
VSMobileCenterTest@0
使用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@1
发布生成中的 Cobertura 或 JaCoCo 代码覆盖率结果。
发布测试结果
PublishTestResults@1
将测试结果发布到 Azure Pipelines。
发布测试结果
PublishTestResults@2
将测试结果发布到 Azure Pipelines。
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务 (Visual Studio 测试代理部署) 已弃用。 请改用“Visual Studio 测试”任务。 VSTest 任务可以运行单元测试以及功能测试。 使用多代理作业设置在一个或多个代理上运行测试。 使用“Visual Studio 测试平台”任务运行测试,而无需在代理上使用 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
使用 Visual Studio 测试 (VsTest) 运行器运行单元和功能测试, (Selenium、Appium、编码的 UI 测试等 ) 。 可以使用 QUnit、Mocha 和 Jasmine) 等具有用于 JavaScript 测试的 Visual Studio 测试适配器(例如 MsTest、xUnit、NUnit、Chutzpah ()的测试框架。 可以使用此任务 (版本 2) 在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@1
部署并配置测试代理以在一组计算机上运行测试。
Xamarin 测试云
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin Test Cloud 测试移动应用。 请改用“App Center 测试”任务。

工具任务

任务 说明
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Docker CLI 安装程序
DockerInstaller@0
在代理计算机上安装 Docker CLI。
Duffle 工具安装程序
DuffleInstaller@0
安装指定版本的 Duffle 以安装和管理 CNAB 捆绑包。
Go 工具安装程序
GoTool@0
在缓存中查找或下载特定版本的 Go 并将其添加到 PATH。
Helm 工具安装程序
HelmInstaller@1
HelmInstaller@0
在代理计算机上安装 Helm。
Java 工具安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存获取特定版本的 Java,并设置JAVA_HOME。
Kubectl 工具安装程序
KubectlInstaller@0
在代理计算机上安装 Kubectl。
NuGet 工具安装程序
NuGetToolInstaller@1
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet,并将其添加到 PATH。 使用此任务可以更改 NuGet 任务中使用的 NuGet 版本。
使用 dotnet
UseDotNet@2
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。 使用此任务可以更改后续任务中使用的 .NET Core 版本。 此外,还提供代理支持。
使用 Node.js 生态系统
UseNode@1
NodeTool@0
设置 Node.js 环境并将其添加到 PATH,此外提供代理支持。
使用 Python 版本
UsePythonVersion@0
使用工具缓存中的指定版本的 Python,可以选择将其添加到 PATH。
使用 Ruby 版本
UseRubyVersion@0
使用工具缓存中的指定版本的 Ruby,可以选择将其添加到 PATH。
Visual Studio 测试平台安装程序
VisualStudioTestPlatformInstaller@1
从 nuget.org 或工具缓存获取测试平台。 满足“vstest”需求,可用于运行测试和使用 Visual Studio 测试任务收集诊断数据。

实用工具任务

任务 说明
存档文件
ArchiveFiles@2
将文件压缩为.7z、.tar.gz或 .zip。
存档文件
ArchiveFiles@1
使用.7z、.rar、.tar.gz和 .zip 等压缩格式存档文件。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池或断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
批处理脚本
BatchScript@1
运行 Windows 命令或批处理脚本,并根据需要允许它更改环境。
命令行
CmdLine@2
CmdLine@1
在 Linux 和 macOS 上使用 Bash、在 Windows 上使用 cmd.exe 运行命令行脚本。
复制和发布生成工件
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1已弃用。 请改用“复制文件”任务和“发布生成项目”任务。
复制文件
CopyFiles@2
使用与文件路径匹配的模式将文件从源文件夹复制到目标文件夹, (而不是) 文件夹路径。
复制文件
CopyFiles@1
使用小型匹配模式将文件从源文件夹复制到目标文件夹 (小型匹配模式将仅匹配文件路径,而不匹配) 文件夹路径。
cURL 上传文件
cURLUploader@2
cURLUploader@1
使用cURL支持的协议上传文件。
(OpenSSL) 解密文件
DecryptFile@1
使用 OpenSSL 解密文件。
延迟
Delay@1
将工作流的进一步执行延迟一定时间。
删除文件
DeleteFiles@1
删除与模式匹配的文件夹或文件。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,如 \share\drop。
下载生成项目
DownloadBuildArtifacts@0
下载保存为已完成生成的项目的文件。
下载 GitHub 发布
DownloadGitHubRelease@0
从存储库下载 GitHub 版本。
下载包
DownloadPackage@1
DownloadPackage@0
从 Azure Artifacts 中的包管理源下载包。
下载管道项目
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
下载管道项目。
下载安全文件
DownloadSecureFile@1
将安全文件下载到代理计算机上的临时位置。
提取文件
ExtractFiles@1
提取各种存档和压缩文件,例如.7z、.rar、.tar.gz和 .zip。
文件转换
FileTransform@1
将标记替换为 XML 或 JSON 配置文件中的变量值。
FTP 上传
FtpUpload@2
FtpUpload@1
使用 FTP 上传文件。
GitHub 版本
GitHubRelease@0
创建、编辑或删除 GitHub 版本。
安装 Apple 证书
InstallAppleCertificate@2
在 macOS 代理计算机上安装生成所需的 Apple 证书。
安装 Apple 证书
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理上生成所需的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
安装在 macOS 代理计算机上生成所需的 Apple 预配配置文件。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@0
安装在 macOS 代理上生成所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
调用 Azure 函数
AzureFunction@1
AzureFunction@0
调用 Azure 函数。
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
PowerShell
PowerShell@2
PowerShell@1
在 Linux、macOS 或 Windows 上运行 PowerShell 脚本。
发布生成项目
PublishBuildArtifacts@1
将生成项目发布到 Azure Pipelines 或 Windows 文件共享。
发布管道工件
PublishPipelineArtifact@0
发布管道项目。
发布到Azure 服务总线
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用服务连接向Azure 服务总线发送消息, (无需) 代理。
Python 脚本
PythonScript@0
运行 Python 文件或内联脚本。
查询 Azure Monitor 警报
AzureMonitor@1
观察针对活动警报配置的 Azure Monitor 规则。
查询经典 Azure Monitor 警报
AzureMonitor@0
观察为活动警报配置的经典 Azure Monitor 规则。
查询工作项
queryWorkItems@0
执行工作项查询并检查返回的项数。
Service Fabric PowerShell
ServiceFabricPowerShell@1
在 Azure Service Fabric 群集连接的上下文中运行 PowerShell 脚本。
Shell 脚本
ShellScript@2
使用 bash 运行 shell 脚本。
更新 Service Fabric 应用版本
ServiceFabricUpdateAppVersions@1
自动更新打包的 Service Fabric 应用程序的版本。
更新 Service Fabric 清单
ServiceFabricUpdateManifests@2
自动更新打包的 Azure Service Fabric 应用程序中应用程序和服务清单的部分。
Xamarin 许可证
XamarinLicense@1
[已弃用]升级到 Xamarin 的免费版本: https://store.xamarin.com

生成任务

任务 说明
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。 对于包命令,支持 NuGet.org 和经过身份验证的源(例如包管理和 MyGet)。
Android 内部版本
AndroidBuild@1
AndroidBuild@1已弃用。 使用 Gradle。
Android 签名
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
对 Android APK 文件进行签名和对齐。

Ant@1
使用 Apache Ant 生成。
CMake
CMake@1
使用 CMake 跨平台生成系统进行生成。
Docker
Docker@1
Docker@0
生成、标记、推送或运行 Docker 映像,或运行 Docker 命令。 可使用 Docker 或 Azure 容器注册表执行此任务。
Docker Compose
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。
Go
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
Gradle
Gradle@2
Gradle@1
使用 Gradle 包装器脚本生成。
Grunt
Grunt@0
JavaScript 任务运行程序。
Gulp
Gulp@0
Node.js 基于流任务的生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
为源代码编制索引,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
JenkinsQueueJob@1
在 Jenkins 服务器上对作业进行排队。
Maven
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成。
MSBuild
MSBuild@1
使用 MSBuild 生成。
Visual Studio 生成
VSBuild@1
使用 MSBuild 生成并设置 Visual Studio 版本属性。
Xamarin.Android
XamarinAndroid@1
使用 Xamarin 生成 Android 应用。
Xamarin.iOS
XamariniOS@2
XamariniOS@1
在 macOS 上使用 Xamarin 生成 iOS 应用。
Xcode
Xcode@5
Xcode@4
在 macOS 上生成、测试或存档 Xcode 工作区。 (可选)打包应用。
Xcode 生成
Xcode@3
Xcode@2
在 macOS 上生成 Xcode 工作区。
Xcode 包 iOS
XcodePackageiOS@0
使用 xcrun (Xcode 7 或更低) 从 Xcode 生成输出生成 .ipa 文件。

部署任务

任务 说明
App Center 分发
AppCenterDistribute@0
通过 App Center 将应用版本分发给测试人员和用户。
App Center 分发
AppCenterDistribute@1
通过 App Center 将应用版本分发给测试人员和用户。
Azure 应用服务经典 (已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@2
使用 Web 部署/Kudu REST API 更新Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
使用内置映像或 Docker 容器更新 Windows 上的Azure 应用服务、Linux 上的 Web 应用、基于 ASP.NET、.NET Core、PHP、Python 或 Node.js 的 Web 应用程序、Windows 或 Linux 上的 Function Apps(使用 Docker 容器、移动应用、API 应用程序、使用 Web 部署/Kudu REST API 的 Web 作业)。
Azure 应用服务管理
AzureAppServiceManage@0
启动、停止、重启、槽交换、安装站点扩展或为Azure 应用服务启用连续监视。
Azure CLI
AzureCLI@1
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure CLI 预览版
AzureCLI@0
使用 Azure CLI 命令针对 Azure 订阅运行 Shell 或 Batch 脚本。
Azure 云服务部署
AzureCloudPowerShellDeployment@1
部署 Azure 云服务。
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本并更改Azure Database for MySQL。
Azure 文件复制
AzureFileCopy@2
AzureFileCopy@1
将文件复制到 Azure blob 或 VM () 。
Azure Key Vault
AzureKeyVault@1
下载 Azure 密钥保管库机密。
Azure Monitor 警报
AzureMonitorAlerts@0
在 Azure 资源的可用指标上配置警报。
Azure PowerShell
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
AzureResourceGroupDeployment@1
将 Azure 资源管理器 (ARM) 模板部署到资源组。 还可以启动、停止、删除和解除分配资源组中的所有虚拟机 (VM) 。
Azure SQL数据库部署
SqlAzureDacpacDeployment@1
使用 DACPAC 部署Azure SQL DB 或使用 SQLCMD 运行脚本。
Azure VM 规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
生成计算机映像
PackerBuild@0
使用 Packer 生成计算机映像。 此映像可用于 Azure 虚拟机规模集部署。
Chef
Chef@1
通过编辑环境属性部署到 Chef 环境。
Chef Knife
ChefKnife@1
在 Chef 工作站上使用刀命令运行脚本。
通过 SSH 复制文件
CopyFilesOverSSH@0
通过 SSH 将文件或生成项目复制到远程计算机。
部署到 Kubernetes
Kubernetes@1
Kubernetes@0
通过运行 kubectl 命令,在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
IIS Web 应用部署
IISWebAppDeploymentOnMachineGroup@0
使用 Web 部署部署网站或 Web 应用程序。
IIS Web 应用部署 (已弃用)
IISWebAppDeployment@1
由 MSDeploy 部署,创建/更新网站 & 应用池。
IIS Web 应用管理
IISWebAppManagementOnMachineGroup@0
创建或更新网站、Web 应用、虚拟目录和应用程序池。
调用 REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
将 REST API 作为管道的一部分调用。
手动干预
ManualIntervention@8
暂停部署并等待干预。
打包和部署 Helm 图表
HelmDeploy@0
运行 helm 命令在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
目标虚拟机上的 PowerShell
PowerShellOnTargetMachines@3
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
在远程计算机上执行 PowerShell 脚本 () 。 此版本的任务使用 PSSession 和 Invoke-Command 进行远程处理。
Service Fabric 应用程序部署
ServiceFabricDeploy@1
将 Service Fabric 应用程序部署到群集。
Service Fabric Compose 部署
ServiceFabricComposeDeploy@0
将 docker-compose 应用程序部署到 Service Fabric 群集。
SQL Server 数据库部署
SqlDacpacDeploymentOnMachineGroup@0
使用 DACPAC 或 SQL 脚本部署到 SQL Server 数据库。
SQL Server数据库部署 (弃用)
SqlServerDacpacDeployment@1
使用 DACPAC 部署SQL Server数据库。
SSH
SSH@0
使用 SSH 在远程计算机上运行 shell 命令或脚本。
Windows 计算机文件复制
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
将文件复制到远程计算机 () 。

包任务

任务 说明
CocoaPods
CocoaPods@0
CocoaPods 是 Swift 和 Objective-C Cocoa 项目的依赖项管理器。 此任务运行“pod 安装”。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
创建并激活 Conda 环境。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如包管理。
npm 对任务运行程序 (进行身份验证)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这使 Gulp 和 Grunt 等 npm 任务运行程序可以使用专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 NuGet.org 和经过身份验证的源,如包管理和 MyGet。 使用 NuGet.exe 以及 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
NuGet 命令
NuGet@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此帐户/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 安装程序
NuGetInstaller@0
安装或还原缺少的 NuGet 包。
NuGet Packager
NuGetPackager@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此帐户/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 发布服务器
NuGetPublisher@0
已弃用:改用“NuGet”任务。 它与新的工具安装程序框架配合使用,因此你可以轻松地使用新版本的 NuGet,而无需等待任务更新,更好地支持此帐户/集合外部的经过身份验证的源,并默认使用 NuGet 4。
NuGet 还原
NuGetRestore@1
还原 NuGet 包,为 Visual Studio 生成步骤做准备。
PyPI 发布者
PyPIPublisher@0
使用 Twine 创建 sdist 或 wheel 并将其上传到 PyPI 兼容的索引。
Python Pip 身份验证
PipAuthenticate@0
用于安装 Python 分发版的 pip 客户端的身份验证任务。
Python Twine 上传身份验证
TwineAuthenticate@0
使用孪生上传 Python 分发版的身份验证。 请将“-r FeedName/EndpointName --config-file $ (PYPIRC_PATH) ”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库 (-r) 否则使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。
Xamarin 组件还原
XamarinComponentRestore@0
此任务已弃用。 请改用“NuGet”。

测试任务

任务 说明
App Center Test
AppCenterTest@1
使用 Visual Studio App Center 测试应用包。
Mobile Center 测试
VSMobileCenterTest@0
使用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@1
发布生成中的 Cobertura 或 JaCoCoCo 代码覆盖率结果。
发布测试结果
PublishTestResults@2
PublishTestResults@1
将测试结果发布到 Azure Pipelines/TFS。
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务 (Visual Studio 测试代理部署) 已弃用。 请改用“Visual Studio 测试”任务。 VSTest 任务可以运行单元测试以及功能测试。 使用多代理作业设置在一个或多个代理上运行测试。 使用“Visual Studio 测试平台”任务运行测试,而无需在代理上使用 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
使用 Visual Studio 测试 (VsTest) 运行器 (Selenium、Appium、编码的 UI 测试等 ) 运行单元和功能测试。 可以使用 QUnit、Mocha 和 Jasmine) 等具有用于 JavaScript 测试的 Visual Studio 测试适配器(例如 MsTest、xUnit、NUnit、Chutzpah ()的测试框架。 可以使用此任务 (版本 2) 在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Xamarin 测试云
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin Test Cloud 测试移动应用 - 建议的任务现在是 AppCenterTest。

工具任务

任务 说明
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Go Tool 安装程序
GoTool@0
在工具缓存中查找或下载特定版本的 Go,并将其添加到 PATH。 使用此设置在后续任务中使用的 Go 版本。
Helm 工具安装程序
HelmInstaller@0
在代理计算机上安装 Helm 和 Kubernetes。
Java Tool 安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存获取特定版本的 Java,并设置JAVA_HOME。 使用此任务更改 Java 任务中使用的 Java 版本。
NuGet Tool 安装程序
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet,并将其添加到 PATH。 使用此任务可以更改 NuGet 任务中使用的 NuGet 版本。
使用 Node.js 生态系统
NodeTool@0
查找或下载并缓存节点的指定版本规范,并将其添加到 PATH。
使用 Python 版本
UsePythonVersion@0
从工具缓存中检索指定版本的 Python。 (可选)将其添加到 PATH。
使用 Ruby 版本
UseRubyVersion@0
从工具缓存中检索指定版本的 Ruby。 (可选)将其添加到 PATH。
Visual Studio 测试平台安装程序
VisualStudioTestPlatformInstaller@1
从 nuget.org 或工具缓存获取测试平台。 满足“vstest”需求,可用于运行测试和使用 Visual Studio 测试任务收集诊断数据。

实用工具任务

任务 说明
存档文件
ArchiveFiles@2
ArchiveFiles@1
使用.7z、.rar、.tar.gz和 .zip 等压缩格式存档文件。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池/断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
批处理脚本
BatchScript@1
运行 Windows cmd 或 bat 脚本,并根据需要允许它更改环境。
命令行
CmdLine@2
CmdLine@1
在 Linux 和 macOS 上使用 Bash、在 Windows 上使用 cmd.exe 运行命令行脚本。
复制和发布生成工件
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1已弃用。 请改用“复制文件”任务和“发布生成项目”任务。
复制文件
CopyFiles@2
CopyFiles@1
使用匹配模式将文件从源文件夹复制到目标文件夹 (匹配模式将仅匹配文件路径,而不是) 文件夹路径。
cURL 上传文件
cURLUploader@2
cURLUploader@1
使用 cURL 上传文件。
解密文件 (OpenSSL)
DecryptFile@1
使用 OpenSSL 进行文件解密的精简实用工具任务。
延迟
Delay@1
将工作流的进一步执行延迟固定时间。
删除文件
DeleteFiles@1
删除文件或文件夹。 (小型匹配模式将仅匹配文件路径,而不匹配) 文件夹路径。
下载生成工件
DownloadBuildArtifacts@0
下载生成项目。
下载文件共享工件
DownloadFileshareArtifacts@1
从文件共享下载项目,例如 \share\drop。
下载包
DownloadPackage@0
在 Azure Artifacts 或 TFS 中从包管理源下载包。
需要使用包管理扩展。
下载管道项目
DownloadPipelineArtifact@0
下载管道项目。
下载安全文件
DownloadSecureFile@1
将安全文件下载到生成或发布代理上的临时位置。
提取文件
ExtractFiles@1
提取各种存档和压缩文件,例如.7z、.rar、.tar.gz和 .zip。
FTP 上传
FtpUpload@1
FTP 上传。
安装 Apple 证书
InstallAppleCertificate@2
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理上生成所需的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
InstallAppleProvisioningProfile@0
安装在 macOS 代理上生成所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或发布之前安装 SSH 密钥。
调用 Azure 函数
AzureFunction@1
AzureFunction@0
将 Azure 函数作为管道的一部分调用。
Jenkins 下载工件
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
PowerShell
PowerShell@2
PowerShell@1
在 Windows、macOS 或 Linux 上运行 PowerShell 脚本。
发布生成工件
PublishBuildArtifacts@1
将生成项目发布到 Azure Pipelines/TFS 或文件共享。
发布管道工件
PublishPipelineArtifact@0
发布管道项目。
发布到Azure 服务总线
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用服务连接向 azure 服务总线发送消息, (不需要代理) 。
Python 脚本
PythonScript@0
运行 Python 脚本。
查询 Azure Monitor 警报
AzureMonitor@0
观察为活动警报配置的 Azure Monitor 规则。
查询工作项
queryWorkItems@0
执行工作项查询并检查返回的项数。
Service Fabric PowerShell
ServiceFabricPowerShell@1
在 Azure Service Fabric 群集连接的上下文中运行 PowerShell 脚本。
Shell 脚本
ShellScript@2
使用 bash 运行 shell 脚本。
更新 Service Fabric 应用版本
ServiceFabricUpdateAppVersions@1
自动更新打包的 Service Fabric 应用程序的版本。
更新 Service Fabric 清单
ServiceFabricUpdateManifests@2
自动更新打包的 Service Fabric 应用程序中的应用程序和服务清单部分。
Xamarin 许可证
XamarinLicense@1
[已弃用]升级到 Xamarin 的免费版本: https://store.xamarin.com

开源

这些任务已在 GitHub 上开源。 欢迎提供反馈和建议。 有关 任务更改 的列表,包括任务更新的历史记录,请参阅管道任务更改日志。

常见问题解答

什么是任务输入别名?

任务的输入由 labelname标识,并且可能包括一个或多个可选 aliases。 以下示例摘自InstallSSHKey@0任务的“已知主机条目”输入的源代码

{
    "name": "hostName",
    "aliases": [
        "knownHostsEntry"
    ],
    "label": "Known Hosts Entry"
    ...
}

在 2019 年引入 YAML 管道之前,管道是使用基于 UI 的管道编辑器创建和编辑的,只有 label 管道作者使用 来引用任务输入。

YAML 管道编辑器中任务助手的屏幕截图。

2019 年引入 YAML 管道时,使用 YAML 的管道作者开始使用任务输入 name 来引用任务输入。 在某些情况下,任务输入名称不是描述性的,因此 aliases 添加了任务输入,以便为任务输入提供其他描述性名称。

例如,该InstallSSHKey@0任务具有一个名为 的hostName已知主机条目输入,该输入需要来自known_hosts文件的条目。 经典管道设计器中的 “已知主机条目 ”标签对此进行了明确说明,但在 YAML 管道中使用名称 hostName 时,该标签并不明确。 引入任务输入别名是为了允许任务作者为其以前创作的任务提供破译名称,并且为 InstallSSHKey@0 任务 knownHostsEntry添加了别名,同时保留原始 hostName 名称,以便与使用该名称的现有管道兼容。

任务输入中的任何 aliases 项都可与 name YAML 管道中的 互换。 以下两个 YAML 代码片段在功能上相同,第一个示例使用 knownHostsEntry 别名,第二个示例使用 hostName

- task: InstallSSHKey@0
  inputs:
    # Using knownHostsEntry alias
    knownHostsEntry: 'sample known hosts entry line'
    # Remainder of task inputs omitted

- task: InstallSSHKey@0
  inputs:
    # Using hostName name
    hostName: 'sample known hosts entry line'
    # Remainder of task inputs omitted

从 Azure DevOps Server 2019.1 开始,引入了 YAML 管道编辑器,该编辑器提供 intellisense 类型功能。

YAML 管道编辑器使用 Yamlschema - Get REST API 在编辑器中检索用于验证的架构。 如果任务输入具有别名,则架构会将别名提升为任务输入的主 YAML 名称,并且该别名由 intellisense 建议。

YAML 管道编辑器中 intellisense 的屏幕截图。

以下示例是 YAML 架构中InstallSSHKey@0任务的已知主机条目任务输入,并在knownHostsEntry名称位置和hostName集合中aliases列出。

"properties": {
    "knownHostsEntry": {
      "type": "string",
      "description": "Known Hosts Entry",
      "ignoreCase": "key",
      "aliases": [
        "hostName"
      ]
    },

由于 YAML 管道编辑器中的 intellisense 显示 knownHostsEntry,并且任务生成的 YAML 助手在生成的 YAML 中使用knownHostsEntry,因此任务引用将任务源代码中的 显示为alias任务输入的 YAML 名称。 如果一个任务具有多个别名 (有几个任务具有两个别名) ,则第一个别名用作名称。

任务引用为何发生更改?

Azure Pipelines 任务参考文档已移至其当前位置,以支持以下改进。

  • 任务文章是使用 Azure Pipelines 任务开放源代码存储库中的任务源代码生成的。
  • 任务输入名称和别名是从任务源生成的,因此始终是最新的。
  • YAML 语法块是从任务源生成的,因此是最新的。
  • 通过集成的用户内容(例如增强的任务输入说明、备注和示例)支持社区贡献。
  • 为所有受支持的 Azure DevOps 版本提供任务覆盖范围。
  • 更新了每个冲刺以涵盖最新更新。

若要参与,请参阅 参与任务内容

我可在哪里逐步学习如何生成应用?

生成应用

我是否可添加自己的生成任务?

是:添加生成任务

什么是安装程序任务?

若要详细了解工具安装程序任务,请查看工具安装程序