Azure Pipelines 任务参考

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

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

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

有关使用任务创作管道的操作说明和教程,包括创建自定义任务、自定义扩展和在 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 数据库并运行分析查询。
高级安全发布结果
AdvancedSecurity-Publish@1
合并代码扫描工具生成的 SARIF 文件(s),增强合并的 SARIF 文件,并将增强的 SARIF 文件发布到高级安全服务。
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@1
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@0
运行 Grunt JavaScript 任务运行程序。
gulp
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@7
SonarQubePrepare@6
SonarQubePrepare@5
SonarQubePrepare@4
准备 SonarQube 分析配置。
发布质量门结果
SonarQubePublish@7
SonarQubePublish@6
SonarQubePublish@5
SonarQubePublish@4
在 Azure DevOps 生成结果上发布 SonarQube 的质量门结果,在实际分析后使用。
运行代码分析
SonarQubeAnalyze@7
SonarQubeAnalyze@6
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 生成输出生成 .ipa 文件(Xcode 7 或更低版本)。

部署任务

任务 描述
App Center 分发
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
AppCenterDistribute@0
通过 Visual Studio App Center 将应用版本分发给测试人员和用户。
ARM 模板部署
AzureResourceManagerTemplateDeployment@3
将 Azure 资源管理器 (ARM) 模板部署到所有部署范围。
Azure 应用配置导出
AzureAppConfigurationExport@10
从 Azure 应用配置将键值下载到任务变量。
Azure 应用服务经典版(已弃用)
AzureWebPowerShellDeployment@1
使用 Azure PowerShell 创建或更新 Azure 应用服务。
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
使用 Docker、Java、.NET、.NET、.NET Core、Node.js、PHP、Python 或 Ruby 部署到 Azure 应用服务。
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 Key Vault 机密。
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 环境。
厨师刀
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@1
ManualValidation@0
暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@1
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 计算机。

包任务

任务 描述
Cargo 身份验证(针对任务运行程序)
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 命令。 支持 azure Artifacts 等 npmjs.com 和经过身份验证的注册表。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
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 测试应用包。
Azure 负载测试
AzureLoadTest@1
使用 Azure 负载测试自动执行性能回归测试。
容器结构测试
ContainerStructureTest@0
使用容器结构测试(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 Test Cloud
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin 测试云测试移动应用。 请改用“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 应用配置导入
AzureAppConfigurationImport@10
将键值推送到 Azure 应用配置实例。
Azure 应用配置快照
AzureAppConfigurationSnapshot@1
在 Azure 应用配置实例中创建快照。
Azure 网络负载均衡器
AzureNLBManagement@1
将 Azure 虚拟机的网络接口连接到负载均衡器的后端地址池或断开连接。
Bash
Bash@3
在 macOS、Linux 或 Windows 上运行 Bash 脚本。
Batch 脚本
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 Release。
下载包
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@2
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
使用 Azure 资源管理器服务连接(无需代理)将消息发送到 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@0
运行 Grunt JavaScript 任务运行程序。
gulp
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 生成输出生成 .ipa 文件(Xcode 7 或更低版本)。

部署任务

任务 描述
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、.NET Core、Node.js、PHP、Python 或 Ruby 部署到 Azure 应用服务。
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 Key Vault 机密。
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 环境。
厨师刀
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 计算机。

包任务

任务 描述
Cargo 身份验证(针对任务运行程序)
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 命令。 支持 azure Artifacts 等 npmjs.com 和经过身份验证的注册表。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
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
使用容器结构测试(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 Test Cloud
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin 测试云测试移动应用。 请改用“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 脚本。
Batch 脚本
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 Release。
下载包
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@0
运行 Grunt JavaScript 任务运行程序。
gulp
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 生成输出生成 .ipa 文件(Xcode 7 或更低版本)。

部署任务

任务 描述
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、.NET Core、Node.js、PHP、Python 或 Ruby 部署到 Azure 应用服务。
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 Key Vault 机密。
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 环境。
厨师刀
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 命令。 支持 azure Artifacts 等 npmjs.com 和经过身份验证的注册表。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
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
使用容器结构测试(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 Test Cloud
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin 测试云测试移动应用。 请改用“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 脚本。
Batch 脚本
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@0
下载作为已完成生成的项目保存的文件。
下载 GitHub 版本
DownloadGitHubRelease@0
从存储库下载 GitHub Release。
下载包
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@0
运行 Grunt JavaScript 任务运行程序。
gulp
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 生成输出生成 .ipa 文件(Xcode 7 或更低版本)。

部署任务

任务 描述
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、.NET Core、Node.js、PHP、Python 或 Ruby 部署到 Azure 应用服务。
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 Key Vault 机密。
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 环境。
厨师刀
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 命令。 支持 azure Artifacts 等 npmjs.com 和经过身份验证的注册表。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
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
使用容器结构测试(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 Test Cloud
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin 测试云测试移动应用。 请改用“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 脚本。
Batch 脚本
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
删除与模式匹配的文件夹或文件。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,例如 \share\drop。
下载生成项目
DownloadBuildArtifacts@0
下载作为已完成生成的项目保存的文件。
下载 GitHub 版本
DownloadGitHubRelease@0
从存储库下载 GitHub Release。
下载包
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@0
运行 Grunt JavaScript 任务运行程序。
gulp
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 生成输出生成 .ipa 文件(Xcode 7 或更低版本)。

部署任务

任务 描述
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、.NET Core、Node.js、PHP、Python 或 Ruby 部署到 Azure 应用服务。
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 Key Vault 机密。
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 环境。
厨师刀
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 命令。 支持 azure Artifacts 等 npmjs.com 和经过身份验证的注册表。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
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
使用容器结构测试(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 Test Cloud
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin 测试云测试移动应用。 请改用“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 脚本。
Batch 脚本
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
删除与模式匹配的文件夹或文件。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,例如 \share\drop。
下载生成项目
DownloadBuildArtifacts@0
下载作为已完成生成的项目保存的文件。
下载 GitHub 版本
DownloadGitHubRelease@0
从存储库下载 GitHub Release。
下载包
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@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 生成输出生成 .ipa 文件(Xcode 7 或更低版本)。

部署任务

任务 描述
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、.NET Core、Node.js、PHP、Python 或 Ruby 部署到 Azure 应用服务。
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 Key Vault 机密。
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 环境。
厨师刀
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 命令。 支持 azure Artifacts 等 npmjs.com 和经过身份验证的注册表。
npm 身份验证(任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 Gulp 和 Grunt)能够使用专用注册表进行身份验证。
NuGet
NuGetCommand@2
还原、打包或推送 NuGet 包,或运行 NuGet 命令。 支持 azure Artifacts 和 MyGet 等 NuGet.org 和经过身份验证的源。 使用 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 测试等)。 可以运行具有 Visual Studio 测试适配器的测试框架,例如 MsTest、xUnit、NUnit、Chutzpah(对于使用 QUnit、Mocha 和 Jasmine 进行 JavaScript 测试)等。 可以使用此任务(版本 2)在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@1
部署并配置测试代理以在一组计算机上运行测试。
Xamarin Test Cloud
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 通过 Xamarin 测试云测试移动应用。 请改用“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 脚本。
Batch 脚本
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 Release。
下载包
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@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 生成输出生成 .ipa 文件(Xcode 7 或更低版本)。

部署任务

任务 描述
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 上的函数应用、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(s)。
Azure Key Vault
AzureKeyVault@1
下载 Azure Key Vault 机密。
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 环境。
厨师刀
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
将文件复制到远程计算机(s)。

包任务

任务 描述
CocoaPods
CocoaPods@0
CocoaPods 是 Swift 和 Objective-C Cocoa 项目的依赖项管理器。 此任务运行“pod install”。
Conda Environment
CondaEnvironment@1
CondaEnvironment@0
创建并激活 Conda 环境。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和经过身份验证的注册表,例如包管理。
npm 身份验证(任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 Gulp 和 Grunt)能够使用专用注册表进行身份验证。
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 孪生上传身份验证
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@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 测试等)。 可以运行具有 Visual Studio 测试适配器的测试框架,例如 MsTest、xUnit、NUnit、Chutzpah(对于使用 QUnit、Mocha 和 Jasmine 进行 JavaScript 测试)等。 可以使用此任务(版本 2)在多个代理上分发测试。
Visual Studio 测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务运行单元和功能测试。
Xamarin Test Cloud
XamarinTestCloud@1
[已弃用]使用 Xamarin.UITest 使用 Xamarin 测试云测试移动应用 - 建议的任务现在是 AppCenterTest。

工具任务

任务 描述
.NET Core SDK/运行时安装程序
DotNetCoreInstaller@0
从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。
Go 工具安装程序
GoTool@0
在工具缓存中查找或下载特定版本的 Go,并将其添加到 PATH。 使用此选项可设置后续任务中使用的 Go 版本。
Helm 工具安装程序
HelmInstaller@0
在代理计算机上安装 Helm 和 Kubernetes。
Java 工具安装程序
JavaToolInstaller@0
从用户提供的 Azure Blob 或工具缓存中获取特定版本的 Java,并设置JAVA_HOME。 使用此任务可更改 Java 任务中使用的 Java 版本。
NuGet 工具安装程序
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 脚本。
Batch 脚本
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 中的任何项都可与 YAML 管道中的 name 互换。 以下两个 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 - 获取 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 版本提供任务覆盖范围。
  • 更新了每个冲刺,以涵盖最新更新。

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

在哪里可以找到如何逐步构建应用?

生成应用

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

是:添加生成任务

什么是安装程序任务?

若要了解有关工具安装程序任务的详细信息,请参阅 工具安装程序