Azure Pipelines task reference

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

本节文章描述了 Azure Pipelines 的内置任务,并规定了每个任务具有特殊意义属性的语义。

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

关于使用任务编写管道的操作方法和教程,包括创建自定义任务、自定义扩展以及在Visual Studio市场寻找任务,请参见 Tasks concepts 和 Azure Pipelines文档 。

重要

截图,展示了如何从内容版本选择器中Azure DevOps版本的截图。

要查看您所在平台可用的任务参考,请确保您从目录上方的版本选择器中选择正确的 Azure DevOps 版本。 功能支持因你是使用 Azure DevOps Services 还是本地版本的 Azure DevOps Server 而有所不同。
要了解你使用的是哪个本地版本,请参见查一下你的Azure DevOps平台和版本。

生成任务

任务 描述
.NET 核心
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
构建、测试、打包或发布 .NET 应用程序,或运行自定义的 .NET CLI 命令。
高级安全初始化 CodeQL
高级安全-Codeql-Init@1
初始化 CodeQL 数据库,以准备生成。
高级安全执行 CodeQL 分析
高级安全-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@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器,或运行 Docker 命令。
Docker 组合
DockerCompose@1
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 Task可以配合Docker或Azure容器注册表一起使用。
下载 GitHub NuGet
DownloadGitHubNugetPackage@1
弃用:此任务不再维护。 用NuGetCommand@2或DotNetCoreCLI@2任务配合GitHub服务关系。
去吧
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
格拉德尔
Gradle@4
Gradle@3
Gradle@2
Gradle@1
使用 Gradle 包装器脚本进行生成。
格鲁特
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 基于任务的流式处理生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
索引你的源代码,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
JenkinsQueueJob@1
在 Jenkins 服务器上对作业进行排队。
Maven
Maven@4
Maven@3
Maven@2
Maven@1
使用 Apache Maven 生成、测试和部署。
MSBuild
MSBuild@1
使用 MSBuild 进行生成。
准备分析配置
SonarQubePrepare@8
SonarQubePrepare@7
SonarQubePrepare@6
SonarQubePrepare@5
SonarQubePrepare@4
准备 SonarQube 服务器分析配置。
发布质量门结果
SonarQubePublish@8
SonarQubePublish@7
SonarQubePublish@6
SonarQubePublish@5
SonarQubePublish@4
在 Azure DevOps 构建结果中发布 SonarQube Server 的 Quality Gate 结果,供实际分析后使用。
运行Code Analysis
SonarQubeAnalyze@8
SonarQubeAnalyze@7
SonarQubeAnalyze@6
SonarQubeAnalyze@5
SonarQubeAnalyze@4
运行扫描程序并将结果上传到 SonarQube 服务器。
Visual Studio构建
VSBuild@1
用MSBuild构建并设置Visual Studio版本属性。
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 应用程序配置 Import
AzureAppConfigurationImport@10
通过构建或部署管道,将配置文件中的设置导入 Azure 应用程序配置。
Azure 应用程序配置 快照
AzureAppConfigurationSnapshot@1
通过构建或部署管道在 Azure 应用程序配置 中创建配置快照。
Azure 应用服务 经典(弃用)
AzureWebPowerShellDeployment@1
Create or update Azure 应用服务 using Azure PowerShell.
Azure 应用服务部署
AzureRmWebAppDeployment@5
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
部署到使用Docker、Java、.NET、.NET Core、Node.js、PHP、Python或Ruby的网页、移动或API应用时部署到Azure 应用服务。
Azure 应用服务 管理
AzureAppServiceManage@0
启动、停止、重启、交换槽位、删除槽位、安装站点扩展或启用Azure 应用服务的持续监控。
Azure 应用服务 设置
AzureAppServiceSettings@1
更新/添加 Linux 或 Windows 的 Azure Web 应用设置。
Azure CLI
AzureCLI@3
AzureCLI@2
AzureCLI@1
在运行 Linux agent 时,用 PowerShell Core/Shell 脚本对 Azure 订阅运行 Azure CLI 命令,在 Windows agent 上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI预览
AzureCLI@0
在 Azure 订阅中运行 Shell 或 Batch 脚本,配合 Azure CLI 命令。
Azure 云服务部署
AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@1
部署 a Azure Cloud Service.
Azure 容器应用 部署
AzureContainerApps@1
AzureContainerApps@0
An Azure DevOps Task to build and deploy Azure 容器应用.
Azure Database for MySQL部署
AzureMysqlDeployment@2
AzureMysqlDeployment@1
运行脚本,对你的 Azure Database for MySQL 灵活服务器做修改。
Azure文件副本
AzureFileCopy@6
AzureFileCopy@5
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到 Azure Blob 存储 或虚拟机。
Azure Kubernetes 上的函数 Function
AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions 部署
AzureFunctionApp@2
AzureFunctionApp@1
用 .NET、Python、JavaScript、PowerShell、基于 Java 的网页应用更新函数应用。
Azure Functions用于容器
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure 密钥保管库
AzureKeyVault@2
AzureKeyVault@1
Download Azure 密钥保管库 secrets.
Azure Monitor 警报(弃用)
AzureMonitorAlerts@0
配置关于Azure资源(弃用)可用指标的警报。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行一个 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
AzureResourceGroupDeployment@1
将 Azure 资源管理器(ARM)模板部署到资源组并管理虚拟机。
Azure Spring Apps
AzureSpringCloud@0
将应用部署到 Azure Spring Apps 并管理部署。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
用DACPAC部署Azure SQL 数据库,或者用SQLCMD运行脚本。
Azure虚拟机规模集部署
AzureVmssDeployment@1
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure 网页应用
AzureWebApp@1
部署一个适用于Linux或Windows的Azure网页应用。
Azure 容器网页应用
AzureWebAppContainer@1
Deploy containers to Azure 应用服务.
Bicep 部署
BicepDeploy@0
使用 Bicep 文件部署和管理 Azure 资源。
生成计算机映像
PackerBuild@1
PackerBuild@0
使用Packer构建机器镜像,可用于Azure虚拟机规模集部署。
检查Azure Policy合规
AzurePolicyCheckGate@0
Azure Policy 的安全与合规评估。
厨师
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 Container Service中部署、配置、更新Kubernetes集群。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。 仅适用于经典发布管道。
手动验证
ManualValidation@1
ManualValidation@0
暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@1
HelmDeploy@0
通过运行helm命令在Azure Container Service中部署、配置、更新Kubernetes集群。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
Service Fabric应用部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用部署到集群。
Service Fabric 组合部署
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@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 在脚本中直接使用 conda 来处理 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
弃用:此任务不再维护。 用Npm@1任务配合GitHub服务连接。
格拉德尔认证
GradleAuthenticate@0
Authenticate Gradle 构建时,使用 Workload Identity Federation 或访问令牌使用 Azure Artifacts feeds 构建。
Maven 身份验证
MavenAuthenticate@0
提供Azure Artifacts feeds和外部maven仓库的凭证。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和认证注册机构,如Azure Artifacts。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
NuGet
NuGetCommand@2
NuGet@0
使用该任务来恢复或打包 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 安装程序
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 authenticate
PipAuthenticate@1
PipAuthenticate@0
PIP客户端用于安装Python发行版的认证任务。
Python twine 上传 authenticate
TwineAuthenticate@1
TwineAuthenticate@0
通过 Twine 进行身份验证以上传 Python 发行版。 将“-r FeedName/EndpointName --config-file $(PYPIRC_PATH)”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库(-r)。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@1
UniversalPackages@0
下载或发布通用包。

测试任务

任务 描述
App Center 测试
AppCenterTest@1
用 Visual Studio App Center 测试应用包。
Azure 负载测试
AzureLoadTest@1
用 Azure 负载测试 自动化性能回归测试。
Azure测试计划
AzureTestPlan@0
为不同的测试框架运行手动和自动化测试点,比如Java的Maven和Gradle,Python的PyTest和JavaScript的Jest。
容器结构测试
ContainerStructureTest@0
使用容器结构测试(https://github.com/GoogleContainerTools/container-structure-test)基于四类测试(命令测试、文件存在测试、文件内容测试和元数据测试)验证映像的结构。
Mobile Center 测试
VSMobileCenterTest@0
用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@2
PublishCodeCoverageResults@1
从生成发布任何代码覆盖率结果。
发布测试结果
PublishTestResults@2
PublishTestResults@1
将测试结果发布到 Azure Pipelines.
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务(Visual Studio Test Agent Deployment)已被弃用。 改用“Visual Studio 测试”任务吧。 VSTest 任务可以运行单元和功能测试。 使用多代理作业设置对一个或多个代理运行测试。 使用“Visual Studio 测试平台”任务来运行测试,无需代理上安装 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@3
VSTest@2
VSTest@1
使用Visual Studio测试(VsTest)运行程序运行单元测试和功能测试(Selenium、Appium、Coded UI 测试等)。 可以运行带有 Visual Studio 测试适配器的测试框架,如 MsTest、xUnit、NUnit、Chutzpah(用于使用 QUnit、Mocha 和 Jasmine 进行 JavaScript 测试)等。 可以使用此任务(版本 2 及更高版本)在多个代理上分发测试。
Visual Studio测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务来运行单元测试和功能测试。

工具任务

任务 描述
.NET Core SDK / 运行时安装器
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从互联网或本地缓存获取特定版本的 .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
Install Azure Func Core Tools.
Java 工具安装器
JavaToolInstaller@1
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核心
UseDotNet@2
从互联网或本地缓存获取特定版本的 .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 测试任务收集诊断数据。

实用工具任务

任务 描述
高级安全依赖项扫描
高级安全依赖项Scanning@1
扫描源代码中的开放源代码依赖漏洞。
存档文件
ArchiveFiles@2
ArchiveFiles@1
将文件压缩为.7z、.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
删除与模式匹配的文件夹或文件。
Deploy Azure 静态网页应用
AzureStaticWebApp@0
构建并部署一个 Azure 静态 Web 应用。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,例如 \share\drop。
下载生成项目
DownloadBuildArtifacts@1
DownloadBuildArtifacts@0
下载作为已完成生成的项目保存的文件。
下载GitHub发布
DownloadGitHubRelease@0
从仓库下载 GitHub 发布。
下载包
DownloadPackage@1
DownloadPackage@0
在 Azure Artifacts 的 package management feed 下载一个包。
下载管道项目
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
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理计算机上生成的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
InstallAppleProvisioningProfile@0
安装在 macOS 代理计算机上构建所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
Invoke Azure Function
AzureFunction@2
AzureFunction@1
AzureFunction@0
Invoke an Azure function.
Jenkins 下载项目
JenkinsDownloadArtifacts@2
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
Node.js 任务运行程序安装程序
NodeTaskRunnerInstaller@0
安装特定的 Node.js 版本以运行节点任务。
表示法
Notation@0
Azure Pipepine Task for set Notation CLI, sign and verify with Notation.
PowerShell
PowerShell@2
PowerShell@1
在Linux、macOS或Windows上运行PowerShell脚本。
发布生成项目
PublishBuildArtifacts@1
将构建artifacts 发布到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 用于活跃警报的规则。
Query Classic Azure Monitor alerts
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 应用中的部分应用和服务清单。

生成任务

任务 描述
.NET 核心
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
构建、测试、打包或发布 .NET 应用程序,或运行自定义的 .NET CLI 命令。
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@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器,或运行 Docker 命令。
Docker 组合
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 Task可以配合Docker或Azure容器注册表一起使用。
下载GitHub Nuget包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
去吧
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
格拉德尔
Gradle@3
Gradle@2
Gradle@1
使用 Gradle 包装器脚本进行生成。
格鲁特
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 基于任务的流式处理生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
索引你的源代码,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
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版本属性。
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 应用程序配置 Import
AzureAppConfigurationImport@10
通过构建或部署管道,将配置文件中的设置导入 Azure 应用程序配置。
Azure 应用程序配置 快照
AzureAppConfigurationSnapshot@1
通过构建或部署管道在 Azure 应用程序配置 中创建配置快照。
Azure 应用服务 经典(弃用)
AzureWebPowerShellDeployment@1
Create or update Azure 应用服务 using Azure PowerShell.
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
部署到使用Docker、Java、.NET、.NET Core、Node.js、PHP、Python或Ruby的网页、移动或API应用时部署到Azure 应用服务。
Azure 应用服务 管理
AzureAppServiceManage@0
启动、停止、重启、交换槽位、删除槽位、安装站点扩展或启用Azure 应用服务的持续监控。
Azure 应用服务 设置
AzureAppServiceSettings@1
更新/添加 Linux 或 Windows 的 Azure Web 应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在运行 Linux agent 时,用 PowerShell Core/Shell 脚本对 Azure 订阅运行 Azure CLI 命令,在 Windows agent 上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI预览
AzureCLI@0
在 Azure 订阅中运行 Shell 或 Batch 脚本,配合 Azure CLI 命令。
Azure 云服务部署
AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@1
部署 a Azure Cloud Service.
Azure 容器应用 部署
AzureContainerApps@1
AzureContainerApps@0
An Azure DevOps Task to build and deploy Azure 容器应用.
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 存储 或虚拟机。
Azure Kubernetes 上的函数 Function
AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions 部署
AzureFunctionApp@2
AzureFunctionApp@1
用 .NET、Python、JavaScript、PowerShell、基于 Java 的网页应用更新函数应用。
Azure Functions用于容器
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure 密钥保管库
AzureKeyVault@2
AzureKeyVault@1
Download Azure 密钥保管库 secrets.
Azure Monitor 警报(弃用)
AzureMonitorAlerts@0
配置关于Azure资源(弃用)可用指标的警报。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行一个 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
AzureResourceGroupDeployment@1
将 Azure 资源管理器(ARM)模板部署到资源组并管理虚拟机。
Azure Spring Apps
AzureSpringCloud@0
将应用部署到 Azure Spring Apps 并管理部署。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
用DACPAC部署Azure SQL 数据库,或者用SQLCMD运行脚本。
Azure虚拟机规模集部署
AzureVmssDeployment@1
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure 网页应用
AzureWebApp@1
部署一个适用于Linux或Windows的Azure网页应用。
Azure 容器网页应用
AzureWebAppContainer@1
Deploy containers to Azure 应用服务.
生成计算机映像
PackerBuild@1
PackerBuild@0
使用Packer构建机器镜像,可用于Azure虚拟机规模集部署。
检查Azure Policy合规
AzurePolicyCheckGate@0
Azure Policy 的安全与合规评估。
厨师
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 Container Service中部署、配置、更新Kubernetes集群。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。 仅适用于经典发布管道。
手动验证
ManualValidation@1
ManualValidation@0
暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@1
HelmDeploy@0
通过运行helm命令在Azure Container Service中部署、配置、更新Kubernetes集群。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
Service Fabric应用部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用部署到集群。
Service Fabric 组合部署
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@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 在脚本中直接使用 conda 来处理 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从GitHub安装npm包。
Maven 身份验证
MavenAuthenticate@0
提供Azure Artifacts feeds和外部maven仓库的凭证。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和认证注册机构,如Azure Artifacts。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
NuGet
NuGetCommand@2
NuGet@0
使用该任务来恢复或打包 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 安装程序
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 authenticate
PipAuthenticate@1
PipAuthenticate@0
PIP客户端用于安装Python发行版的认证任务。
Python twine 上传 authenticate
TwineAuthenticate@1
TwineAuthenticate@0
通过 Twine 进行身份验证以上传 Python 发行版。 将“-r FeedName/EndpointName --config-file $(PYPIRC_PATH)”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库(-r)。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。

测试任务

任务 描述
App Center 测试
AppCenterTest@1
用 Visual Studio App Center 测试应用包。
Azure测试计划
AzureTestPlan@0
为不同的测试框架运行手动和自动化测试点,比如Java的Maven和Gradle,Python的PyTest和JavaScript的Jest。
容器结构测试
ContainerStructureTest@0
使用容器结构测试(https://github.com/GoogleContainerTools/container-structure-test)基于四类测试(命令测试、文件存在测试、文件内容测试和元数据测试)验证映像的结构。
Mobile Center 测试
VSMobileCenterTest@0
用 Visual Studio Mobile Center 测试移动应用包。
发布代码覆盖率结果
PublishCodeCoverageResults@2
PublishCodeCoverageResults@1
从生成发布任何代码覆盖率结果。
发布测试结果
PublishTestResults@2
PublishTestResults@1
将测试结果发布到 Azure Pipelines.
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务(Visual Studio Test Agent Deployment)已被弃用。 改用“Visual Studio 测试”任务吧。 VSTest 任务可以运行单元和功能测试。 使用多代理作业设置对一个或多个代理运行测试。 使用“Visual Studio 测试平台”任务来运行测试,无需代理上安装 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@3
VSTest@2
VSTest@1
使用Visual Studio测试(VsTest)运行程序运行单元测试和功能测试(Selenium、Appium、Coded UI 测试等)。 可以运行带有 Visual Studio 测试适配器的测试框架,如 MsTest、xUnit、NUnit、Chutzpah(用于使用 QUnit、Mocha 和 Jasmine 进行 JavaScript 测试)等。 可以使用此任务(版本 2 及更高版本)在多个代理上分发测试。
Visual Studio测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务来运行单元测试和功能测试。

工具任务

任务 描述
.NET Core SDK / 运行时安装器
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从互联网或本地缓存获取特定版本的 .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
Install Azure Func Core Tools.
Java 工具安装器
JavaToolInstaller@1
JavaToolInstaller@0
从用户提供的Azure blob或工具缓存中获取特定版本的 Java,并设置 JAVA_HOME。
Kubectl 工具安装程序
KubectlInstaller@0
在代理计算机上安装 Kubectl。
NuGet 工具安装程序
NuGetToolInstaller@1
NuGetToolInstaller@0
从 Internet 或工具缓存获取特定版本的 NuGet 并将其添加到 PATH。 使用此任务可更改 NuGet 任务中使用的 NuGet 版本。
使用.NET核心
UseDotNet@2
从互联网或本地缓存获取特定版本的 .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
ArchiveFiles@1
将文件压缩为.7z、.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
删除与模式匹配的文件夹或文件。
Deploy Azure 静态网页应用
AzureStaticWebApp@0
构建并部署一个 Azure 静态 Web 应用。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,例如 \share\drop。
下载生成项目
DownloadBuildArtifacts@1
DownloadBuildArtifacts@0
下载作为已完成生成的项目保存的文件。
下载GitHub发布
DownloadGitHubRelease@0
从仓库下载 GitHub 发布。
下载包
DownloadPackage@1
DownloadPackage@0
在 Azure Artifacts 的 package management feed 下载一个包。
下载管道项目
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
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理计算机上生成的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
InstallAppleProvisioningProfile@0
安装在 macOS 代理计算机上构建所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure function.
Jenkins 下载项目
JenkinsDownloadArtifacts@2
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
Node.js 任务运行程序安装程序
NodeTaskRunnerInstaller@0
安装特定的 Node.js 版本以运行节点任务。
PowerShell
PowerShell@2
PowerShell@1
在Linux、macOS或Windows上运行PowerShell脚本。
发布生成项目
PublishBuildArtifacts@1
将构建artifacts 发布到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 用于活跃警报的规则。
Query Classic Azure Monitor alerts
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 应用中的部分应用和服务清单。

生成任务

任务 描述
.NET 核心
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
构建、测试、打包或发布 .NET 应用程序,或运行自定义的 .NET CLI 命令。
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@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器,或运行 Docker 命令。
Docker 组合
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 Task可以配合Docker或Azure容器注册表一起使用。
下载GitHub Nuget包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
去吧
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
格拉德尔
Gradle@3
Gradle@2
Gradle@1
使用 Gradle 包装器脚本进行生成。
格鲁特
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp Node.js 基于任务的流式处理生成系统。
索引源和发布符号
PublishSymbols@2
PublishSymbols@1
索引你的源代码,并将符号发布到文件共享或 Azure Artifacts 符号服务器。
Jenkins 队列作业
JenkinsQueueJob@2
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版本属性。
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
Create or update Azure 应用服务 using Azure PowerShell.
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
部署到使用Docker、Java、.NET、.NET Core、Node.js、PHP、Python或Ruby的网页、移动或API应用时部署到Azure 应用服务。
Azure 应用服务 管理
AzureAppServiceManage@0
启动、停止、重启、交换槽位、删除槽位、安装站点扩展或启用Azure 应用服务的持续监控。
Azure 应用服务 设置
AzureAppServiceSettings@1
更新/添加 Linux 或 Windows 的 Azure Web 应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在运行 Linux agent 时,用 PowerShell Core/Shell 脚本对 Azure 订阅运行 Azure CLI 命令,在 Windows agent 上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI预览
AzureCLI@0
在 Azure 订阅中运行 Shell 或 Batch 脚本,配合 Azure CLI 命令。
Azure 云服务部署
AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@1
部署 a Azure Cloud Service.
Azure 容器应用 部署
AzureContainerApps@1
AzureContainerApps@0
An Azure DevOps Task to build and deploy Azure 容器应用.
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本,对你的 Azure Database for MySQL 进行修改。
Azure文件副本
AzureFileCopy@5
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到 Azure Blob 存储 或虚拟机。
Azure Kubernetes 上的函数 Function
AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions 部署
AzureFunctionApp@2
AzureFunctionApp@1
用 .NET、Python、JavaScript、PowerShell、基于 Java 的网页应用更新函数应用。
Azure Functions用于容器
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure 密钥保管库
AzureKeyVault@2
AzureKeyVault@1
Download Azure 密钥保管库 secrets.
Azure Monitor 警报(弃用)
AzureMonitorAlerts@0
配置关于Azure资源(弃用)可用指标的警报。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行一个 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
AzureResourceGroupDeployment@1
将 Azure 资源管理器(ARM)模板部署到资源组并管理虚拟机。
Azure Spring Apps
AzureSpringCloud@0
将应用部署到 Azure Spring Apps 并管理部署。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
用DACPAC部署Azure SQL 数据库,或者用SQLCMD运行脚本。
Azure虚拟机规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure 网页应用
AzureWebApp@1
部署一个适用于Linux或Windows的Azure网页应用。
Azure 容器网页应用
AzureWebAppContainer@1
Deploy containers to Azure 应用服务.
生成计算机映像
PackerBuild@1
PackerBuild@0
使用Packer构建机器镜像,可用于Azure虚拟机规模集部署。
检查Azure Policy合规
AzurePolicyCheckGate@0
Azure Policy 的安全与合规评估。
厨师
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 Container Service中部署、配置、更新Kubernetes集群。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。 仅适用于经典发布管道。
手动验证
ManualValidation@0
[预览]暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行helm命令在Azure Container Service中部署、配置、更新Kubernetes集群。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
Service Fabric应用部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用部署到集群。
Service Fabric 组合部署
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@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 在脚本中直接使用 conda 来处理 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从GitHub安装npm包。
Maven 身份验证
MavenAuthenticate@0
提供Azure Artifacts feeds和外部maven仓库的凭证。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和认证注册机构,如Azure Artifacts。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
NuGet
NuGetCommand@2
NuGet@0
使用该任务来恢复或打包 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 安装程序
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 authenticate
PipAuthenticate@1
PipAuthenticate@0
PIP客户端用于安装Python发行版的认证任务。
Python twine 上传 authenticate
TwineAuthenticate@1
TwineAuthenticate@0
通过 Twine 进行身份验证以上传 Python 发行版。 将“-r FeedName/EndpointName --config-file $(PYPIRC_PATH)”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库(-r)。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。

测试任务

任务 描述
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@2
PublishTestResults@1
将测试结果发布到 Azure Pipelines.
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务(Visual Studio Test Agent Deployment)已被弃用。 改用“Visual Studio 测试”任务吧。 VSTest 任务可以运行单元和功能测试。 使用多代理作业设置对一个或多个代理运行测试。 使用“Visual Studio 测试平台”任务来运行测试,无需代理上安装 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
构建、测试、打包或发布 .NET 应用程序,或运行自定义的 .NET CLI 命令。
Visual Studio测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务来运行单元测试和功能测试。

工具任务

任务 描述
.NET Core SDK / 运行时安装器
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从互联网或本地缓存获取特定版本的 .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
Install 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核心
UseDotNet@2
从互联网或本地缓存获取特定版本的 .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
ArchiveFiles@1
将文件压缩为.7z、.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
删除与模式匹配的文件夹或文件。
Deploy Azure 静态网页应用
AzureStaticWebApp@0
构建并部署一个 Azure 静态 Web 应用。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,例如 \share\drop。
下载生成项目
DownloadBuildArtifacts@1
DownloadBuildArtifacts@0
下载作为已完成生成的项目保存的文件。
下载GitHub发布
DownloadGitHubRelease@0
从仓库下载 GitHub 发布。
下载包
DownloadPackage@1
DownloadPackage@0
在 Azure Artifacts 的 package management feed 下载一个包。
下载管道项目
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
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理计算机上生成的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
InstallAppleProvisioningProfile@0
安装在 macOS 代理计算机上构建所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure function.
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
Node.js 任务运行程序安装程序
NodeTaskRunnerInstaller@0
安装特定的 Node.js 版本以运行节点任务。
PowerShell
PowerShell@2
PowerShell@1
在Linux、macOS或Windows上运行PowerShell脚本。
发布生成项目
PublishBuildArtifacts@1
将构建artifacts 发布到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 用于活跃警报的规则。
Query Classic Azure Monitor alerts
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 应用中的部分应用和服务清单。

生成任务

任务 描述
.NET 核心
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
构建、测试、打包或发布 .NET 应用程序,或运行自定义的 .NET CLI 命令。
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@2
Docker@1
Docker@0
生成或推送 Docker 映像、登录或注销、启动或停止容器,或运行 Docker 命令。
Docker 组合
DockerCompose@0
生成、推送或运行多容器 Docker 应用程序。 Task可以配合Docker或Azure容器注册表一起使用。
下载GitHub Nuget包
DownloadGitHubNugetPackage@1
使用 dotnet CLI 还原 nuget 包。
去吧
Go@0
获取、生成或测试 Go 应用程序,或运行自定义 Go 命令。
格拉德尔
Gradle@3
Gradle@2
Gradle@1
使用 Gradle 包装器脚本进行生成。
格鲁特
Grunt@0
运行 Grunt JavaScript 任务运行程序。
吞掉
gulp@1
gulp@0
运行 gulp 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版本属性。
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
Create or update Azure 应用服务 using Azure PowerShell.
Azure 应用服务部署
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
部署到使用Docker、Java、.NET、.NET Core、Node.js、PHP、Python或Ruby的网页、移动或API应用时部署到Azure 应用服务。
Azure 应用服务 管理
AzureAppServiceManage@0
启动、停止、重启、交换槽位、删除槽位、安装站点扩展或启用Azure 应用服务的持续监控。
Azure 应用服务 设置
AzureAppServiceSettings@1
更新/添加 Linux 或 Windows 的 Azure Web 应用设置。
Azure CLI
AzureCLI@2
AzureCLI@1
在运行 Linux agent 时,用 PowerShell Core/Shell 脚本对 Azure 订阅运行 Azure CLI 命令,在 Windows agent 上运行 PowerShell/PowerShell Core/Batch 脚本。
Azure CLI预览
AzureCLI@0
在 Azure 订阅中运行 Shell 或 Batch 脚本,配合 Azure CLI 命令。
Azure 云服务部署
AzureCloudPowerShellDeployment@1
部署 a Azure Cloud Service.
Azure Database for MySQL部署
AzureMysqlDeployment@1
运行脚本,对你的 Azure Database for MySQL 进行修改。
Azure文件副本
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
将文件复制到 Azure Blob 存储 或虚拟机。
Azure Kubernetes 上的函数 Function
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions 部署
AzureFunctionApp@1
用 .NET、Python、JavaScript、PowerShell、基于 Java 的网页应用更新函数应用。
Azure Functions用于容器
AzureFunctionAppContainer@1
使用 Docker 容器更新函数应用。
Azure 密钥保管库
AzureKeyVault@2
AzureKeyVault@1
Download Azure 密钥保管库 secrets.
Azure Monitor 警报(弃用)
AzureMonitorAlerts@0
配置关于Azure资源(弃用)可用指标的警报。
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
在 Azure 环境中运行一个 PowerShell 脚本。
Azure 资源组部署
AzureResourceGroupDeployment@2
AzureResourceGroupDeployment@1
将 Azure 资源管理器(ARM)模板部署到资源组并管理虚拟机。
Azure Spring Apps
AzureSpringCloud@0
将应用部署到 Azure Spring Apps 并管理部署。
Azure SQL 数据库部署
SqlAzureDacpacDeployment@1
用DACPAC部署Azure SQL 数据库,或者用SQLCMD运行脚本。
Azure虚拟机规模集部署
AzureVmssDeployment@0
部署虚拟机规模集映像。
Azure 网页应用
AzureWebApp@1
部署一个适用于Linux或Windows的Azure网页应用。
Azure 容器网页应用
AzureWebAppContainer@1
Deploy containers to Azure 应用服务.
生成计算机映像
PackerBuild@1
PackerBuild@0
使用Packer构建机器镜像,可用于Azure虚拟机规模集部署。
检查Azure Policy合规
AzurePolicyCheckGate@0
Azure Policy 的安全与合规评估。
厨师
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 Container Service中部署、配置、更新Kubernetes集群。
手动干预
ManualIntervention@8
暂停部署并等待手动干预。 仅适用于经典发布管道。
手动验证
ManualValidation@0
[预览]暂停管道运行以等待手动交互。 仅适用于 YAML 管道。
MySQL 数据库部署
MysqlDeploymentOnMachineGroup@1
运行脚本并更改 MySQL 数据库。
打包和部署 Helm 图表
HelmDeploy@0
通过运行helm命令在Azure Container Service中部署、配置、更新Kubernetes集群。
目标计算机上的 PowerShell
PowerShellOnTargetMachines@3
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
使用 PSSession 和 Invoke-Command 远程处理在远程计算机上执行 PowerShell 脚本。
Service Fabric应用部署
ServiceFabricDeploy@1
将 Azure Service Fabric 应用部署到集群。
Service Fabric 组合部署
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@0
为 Swift 和 Objective-C Cocoa 项目安装 CocoaPods 依赖项。
Conda 环境
CondaEnvironment@1
CondaEnvironment@0
此任务已弃用。 在脚本中直接使用 conda 来处理 Anaconda 环境。
下载 Github Npm 包
DownloadGithubNpmPackage@1
从GitHub安装npm包。
Maven 身份验证
MavenAuthenticate@0
提供Azure Artifacts feeds和外部maven仓库的凭证。
npm
Npm@1
Npm@0
安装并发布 npm 包,或运行 npm 命令。 支持 npmjs.com 和认证注册机构,如Azure Artifacts。
npm 身份验证(针对任务运行程序)
npmAuthenticate@0
如果还使用 npm 任务,请不要使用此任务。 为生成范围向存储库中的 .npmrc 文件提供 npm 凭据。 这使 npm 任务运行程序(如 gulp 和 Grunt)能够使用专用注册表进行身份验证。
NuGet
NuGetCommand@2
NuGet@0
使用该任务来恢复或打包 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 安装程序
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 authenticate
PipAuthenticate@1
PipAuthenticate@0
PIP客户端用于安装Python发行版的认证任务。
Python twine 上传 authenticate
TwineAuthenticate@1
TwineAuthenticate@0
通过 Twine 进行身份验证以上传 Python 发行版。 将“-r FeedName/EndpointName --config-file $(PYPIRC_PATH)”添加到孪生上传命令。 对于此组织中存在的源,请使用源名称作为存储库(-r)。 否则,请使用服务连接中定义的终结点名称。
通用包
UniversalPackages@0
下载或发布通用包。

测试任务

任务 描述
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@2
PublishTestResults@1
将测试结果发布到 Azure Pipelines.
运行功能测试
RunVisualStudioTestsusingTestAgent@1
已弃用:此任务及其配套任务(Visual Studio Test Agent Deployment)已被弃用。 改用“Visual Studio 测试”任务吧。 VSTest 任务可以运行单元和功能测试。 使用多代理作业设置对一个或多个代理运行测试。 使用“Visual Studio 测试平台”任务来运行测试,无需代理上安装 Visual Studio。 VSTest 任务还带来了新功能,例如自动重新运行失败的测试。
Visual Studio 测试
VSTest@2
VSTest@1
构建、测试、打包或发布 .NET 应用程序,或运行自定义的 .NET CLI 命令。
Visual Studio测试代理部署
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2已弃用。 使用 Visual Studio 测试任务来运行单元测试和功能测试。

工具任务

任务 描述
.NET Core SDK / 运行时安装器
DotNetCoreInstaller@1
DotNetCoreInstaller@0
从互联网或本地缓存获取特定版本的 .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
Install 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核心
UseDotNet@2
从互联网或本地缓存获取特定版本的 .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
ArchiveFiles@1
将文件压缩为.7z、.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
删除与模式匹配的文件夹或文件。
Deploy Azure 静态网页应用
AzureStaticWebApp@0
构建并部署一个 Azure 静态 Web 应用。
从文件共享下载项目
DownloadFileshareArtifacts@1
从文件共享下载项目,例如 \share\drop。
下载生成项目
DownloadBuildArtifacts@0
下载作为已完成生成的项目保存的文件。
下载GitHub发布
DownloadGitHubRelease@0
从仓库下载 GitHub 发布。
下载包
DownloadPackage@1
DownloadPackage@0
在 Azure Artifacts 的 package management feed 下载一个包。
下载管道项目
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
InstallAppleCertificate@1
InstallAppleCertificate@0
安装在 macOS 代理计算机上生成的 Apple 证书。
安装 Apple 预配配置文件
InstallAppleProvisioningProfile@1
InstallAppleProvisioningProfile@0
安装在 macOS 代理计算机上构建所需的 Apple 预配配置文件。
安装 SSH 密钥
InstallSSHKey@0
在生成或部署之前安装 SSH 密钥。
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure function.
Jenkins 下载项目
JenkinsDownloadArtifacts@1
下载 Jenkins 作业生成的项目。
PowerShell
PowerShell@2
PowerShell@1
在Linux、macOS或Windows上运行PowerShell脚本。
发布生成项目
PublishBuildArtifacts@1
将构建artifacts 发布到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 用于活跃警报的规则。
Query Classic Azure Monitor alerts
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 应用中的部分应用和服务清单。

开源

这些任务分别是开放源代码 on GitHub。 欢迎提供反馈和贡献。 有关任务更改列表(包括任务更新的历史记录),请参阅 管道任务更改日志。

FAQ

什么是任务输入别名?

任务输入由 label、name标识,可以包含一个或多个可选 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

从2019.1 Azure DevOps Server开始,引入了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 版本提供任务覆盖。
  • 更新了每个冲刺,以涵盖最新更新。

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

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

生成应用

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

是:添加生成任务

什么是安装程序任务?

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

以前的版本