生成和发布应用
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
注意
在 Microsoft Team Foundation Server (TFS) 2018 和更低版本中,生成和发布管道被称为“定义”,运行被称为“生成”,服务连接被称为“服务终结点”,阶段被称为“环境”,而作业被称为“阶段” 。
本文提供内置任务的索引。 若要详细了解任务(包括创建自定义任务、自定义扩展和在 Visual Studio Marketplace 上查找任务),请查看任务概念。
构建
| 任务 | 版本 |
|---|---|
.NET Core CLI 任务 - 生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。 对于包命令,支持 NuGet.org 和经过身份验证的源(例如包管理和 MyGet)。 |
Azure Pipelines,TFS 2017 及更高版本 |
Android 生成任务 (弃用;使用 Gradle) - Android 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Android 签名生成和发布任务 - Android 签名生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Ant 生成和发布任务 - 了解如何使用 Apache Ant 进行生成 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Azure IoT Edge 任务 - 快速、高效地生成、测试和部署应用程序以Azure IoT Edge |
Azure Pipelines |
CMake 生成和发布任务 - CMake 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Docker Compose 任务 - 生成、推送或运行多容器 Docker 应用程序。 可使用 Docker 或 Azure 容器注册表执行此任务。 |
Azure Pipelines,Azure DevOps Server 2019 |
Docker 任务 - 使用 Docker 注册表服务连接生成 Docker 映像并将其推送到任何容器注册表 |
Azure Pipelines,TFS 2018 及更高版本 |
Go 任务 - 获取、生成、测试 go 应用程序,或运行自定义 go 命令。 |
Azure Pipelines |
Gradle 生成和发布任务 - Gradle 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Grunt 生成和发布任务 - Grunt 生成和发布任务 |
Azure Pipelines,TFS 2015.3 及更高版本 |
Gulp 生成和发布任务 - Gulp 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
索引源 & 发布符号 - 索引源 & 发布符号生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Jenkins 队列作业生成和发布任务 - 在 Jenkins 服务器生成和发布任务上对作业进行排队 |
Azure Pipelines,TFS 2017 及更高版本 |
Maven 生成和发布任务 - Maven 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
MSBuild生成和发布任务 - MSBuild生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
SonarQube - 准备分析配置 - 在执行生成之前配置所有必需的设置 |
Azure Pipelines,TFS 2015.3 及更高版本 |
SonarQube - 发布质量门结果 - 在生成摘要中显示质量门状态 |
Azure Pipelines,TFS 2015.3 及更高版本 |
SonarQube - 运行Code Analysis - 运行源代码分析 |
Azure Pipelines,TFS 2015.3 及更高版本 |
Visual Studio生成和发布任务 - Visual Studio生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Xamarin.Android 生成和发布任务 - Xamarin.Android 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Xamarin.iOS 生成和发布任务 - Xamarin.iOS 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Xcode 生成和发布任务 - Xcode 生成和发布任务 |
Azure Pipelines |
Xcode 生成和发布任务 - Xcode 生成和发布任务 |
TFS 2015、TFS 2017、TFS 2018 |
Xcode 包 iOS 生成和发布任务 - Xcode 包 iOS 生成和发布任务 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
实用工具
| 任务 | 版本 |
|---|---|
存档文件任务 - 使用存档文件创建源文件夹 |
Azure Pipelines,TFS 2017 及更高版本 |
Azure 网络负载均衡器任务 - 连接或断开 Azure 虚拟机网络接口与负载均衡器地址池的连接 |
Azure Pipelines |
Azure 静态 Web 应用任务 - 生成和部署 Azure 静态 Web 应用。 |
Azure Pipelines |
Bash 任务 - 在 macOS、Linux 或 Windows 上运行 Bash 脚本 |
Azure Pipelines |
批处理脚本任务 - 生成代码时执行.bat或 .cmd 脚本 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
| 缓存任务 - 通过在管道运行之间缓存文件(例如依赖项),提高生成性能。 | Azure Pipelines,TFS 2017 及更高版本 |
命令行任务 - 在生成代码时从命令提示符执行工具 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
复制和发布生成Artifacts任务 - 将生成项目复制到过渡文件夹并发布它们 |
TFS 2015 RTM。 在 Azure Pipelines 和 TFS 的更高版本上已弃用。 |
复制文件任务 - 生成代码时使用匹配模式在文件夹之间复制文件 |
Azure Pipelines,TFS 2015.3 及更高版本 |
cURL Upload 文件任务 - 使用 cURL 上传支持协议的文件 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
解密文件 (OpenSSL) 任务 - 使用 OpenSSL 进行文件解密的精简实用工具任务 |
Azure Pipelines |
延迟任务 - 暂停生成或发布管道执行固定延迟时间 |
Azure Pipelines,Azure DevOps Server 2019 |
删除文件任务 - 生成代码时从代理工作目录中删除文件 |
Azure Pipelines,TFS 2015.3 及更高版本 |
下载生成Artifacts任务 - 下载生成Artifacts任务,以便在生成或发布管道中使用 |
Azure Pipelines |
下载文件共享Artifacts任务 - 下载Azure Pipelines和 TFS 的文件共享Artifacts任务 |
Azure Pipelines |
下载GitHub发布任务 - 从管道中的GitHub发布下载资产 |
Azure Pipelines |
下载包任务 - 从 Azure Artifacts 或 TFS 中的包管理源下载包。 |
Azure Pipelines |
下载管道Artifacts任务 - 下载管道Artifacts任务,从此管道的早期阶段或从另一个管道下载管道项目 |
Azure Pipelines |
下载安全文件任务 - 将安全文件下载到生成或发布代理上的临时位置 |
Azure Pipelines |
提取文件任务 - 使用 TFS) (上的微型模式将文件从存档提取到目标文件夹 |
Azure Pipelines,TFS 2017 及更高版本 |
文件转换任务 - 将配置文件转换和变量替换应用于目标包或文件夹 |
Azure Pipelines,Azure DevOps Server 2019 |
FTP Upload 任务 - 使用文件传输协议 (FTP) 将文件Upload远程计算机,或在 TFS) (上安全地使用 FTPS |
Azure Pipelines,TFS 2017 及更高版本 |
GitHub发布任务 - 创建、编辑或放弃GitHub发布。 |
Azure Pipelines |
安装 Apple 证书任务 - 安装在 (TFS) 上的 macOS 代理上生成的 Apple 证书 |
Azure Pipelines,TFS 2018 及更高版本 |
安装 Apple 预配配置文件任务 - 安装在 macOS 代理上生成的 Apple 预配配置文件 |
Azure Pipelines,TFS 2018 及更高版本 |
安装 SSH 密钥任务 - 在生成或发布之前安装 SSH 密钥 |
Azure Pipelines |
调用 Azure 函数任务 - 在 Azure 函数应用中调用 HTTP 触发的函数并分析响应 |
Azure Pipelines,TFS 2017 及更高版本 |
调用 HTTP REST API 任务 - 生成和发布任务以调用 HTTP API,并使用生成或发布管道分析响应 |
Azure Pipelines,TFS 2018 及更高版本 |
Jenkins 下载Artifacts任务 - 下载 Jenkins 作业生成的项目 |
Azure Pipelines,TFS 2017 及更高版本 |
手动干预任务 - 在发布管道的阶段内暂停活动部署 |
Azure Pipelines,Azure DevOps Server 2019 |
手动验证任务 - 暂停 YAML 管道阶段内的运行 |
Azure Pipelines,Azure DevOps Server 2019 |
PowerShell 任务 - 执行 PowerShell 脚本 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
发布生成Artifacts任务 - 将生成项目发布到Azure Pipelines、Team Foundation Server (TFS) 或文件共享 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
发布管道Artifacts任务 - 将项目发布到Azure Pipelines。 |
Azure Pipelines |
发布到Azure 服务总线任务 - 使用生成或发布管道将消息发送到Azure 服务总线 |
Azure Pipelines,Azure DevOps Server 2019 |
Python 脚本任务 - 在生成或发布管道中运行 Python 脚本 |
Azure Pipelines |
查询 Azure Monitor 警报任务 - 观察生成或发布管道中活动警报的已配置的 Azure Monitor 规则 |
Azure Pipelines,TFS 2017 及更高版本 |
查询工作项任务 - 确保工作项查询返回的匹配项数在配置的阈值内 |
Azure Pipelines,TFS 2017 及更高版本 |
Service Fabric PowerShell 实用工具任务 - Service Fabric PowerShell 任务,以便在生成管道或发布管道中使用 |
Azure Pipelines,Azure DevOps Server 2019 |
Shell 脚本任务 - 生成代码时执行 bash 脚本 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
更新Service Fabric清单任务 - 更新Service Fabric应用版本 |
Azure Pipelines,TFS 2017 及更高版本 |
Xamarin 许可证任务 - 生成代码时激活或停用 Xamarin 许可证 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
测试
| 任务 | 版本 |
|---|---|
App Center 测试任务 - 使用 Visual Studio App Center 测试应用包。 |
Azure Pipelines,TFS 2017 及更高版本 |
基于云的 Apache JMeter 负载测试任务 (弃用) - 在云中运行 Apache JMeter 负载测试 |
Azure Pipelines |
| Azure Pipelines,TFS 2015 RTM 及更新版本 | |
基于云的 Web 性能测试任务 (弃用) - 使用生成或发布管道运行快速 Web 性能测试,以轻松验证 Web 应用程序是否存在且响应迅速 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
容器结构测试任务 - 按容器任务测试容器结构,并将测试报告集成到生成和发布管道中 |
Azure Pipelines |
| Azure Pipelines,TFS 2015 RTM 及更新版本 | |
| Azure Pipelines,TFS 2015 RTM 及更新版本 | |
| Azure Pipelines,TFS 2015 RTM 及更新版本 | |
| Azure Pipelines,TFS 2015 RTM 及更新版本 | |
Visual Studio测试任务 - 使用Visual Studio测试运行程序 (Selenium、Appium、编码的 UI 测试等) 运行单元和功能测试。 还可运行具有 Visual Studio 测试适配器(例如 xUnit、NUnit 和 Chutzpah 等)的测试框架。 |
Azure Pipelines |
Xamarin Test Cloud 任务 - 此任务已弃用。 请改用 App Center 测试任务。 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
包
| 任务 | 版本 |
|---|---|
CocoaPods 任务 - 了解在 Azure Pipelines 或 Team Foundation Server (TFS) 中生成代码时如何使用 CocoaPods 包。 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
Conda 环境任务 - 生成代码时如何创建和激活 Conda 环境 |
Azure Pipelines |
针对任务运行程序) 的 Maven 身份验证任务 ( - 提供用于Azure Artifacts源和外部 Maven 存储库的凭据。 |
Azure Pipelines |
npm 对任务运行程序 (进行身份验证) - 如果使用 npm 任务,请不要使用此任务。 针对生成的范围,为存储库中的 .npmrc 文件提供 npm 凭据。 这样,gulp 和 Grunt 等 npm 任务运行程序就能向专用注册表进行身份验证。 |
Azure Pipelines |
npm 任务 - 如何在 Azure Pipelines 中生成代码时使用 npm 包 |
Azure Pipelines,TFS 2015 RTM 及更新版本 |
NuGet身份验证 - 配置NuGet工具以使用 Azure Artifacts 和其他NuGet存储库进行身份验证 |
Azure Pipelines |
NuGet还原、打包和发布任务 - 了解生成代码时如何利用NuGet包 |
Azure Pipelines,TFS 2018 及更高版本 |
PyPI Publisher任务 (弃用) - 生成代码时如何将包上传到 PyPI |
Azure Pipelines |
Python Pip 身份验证 - 使用 pip 设置身份验证,以便在管道中执行 pip 命令。 |
Azure Pipelines |
Python 孪生Upload身份验证 - 使用孪生体到 Python 源设置身份验证,以便可以在管道中发布 Python 包。 |
Azure Pipelines |
通用包、下载和发布任务 - 了解生成代码时如何利用通用包 |
Azure Pipelines,TFS 2018 及更高版本 |
部署
| 任务 | 版本 |
|---|---|
App Center 分发任务 - 通过 App Center 将应用生成分发给测试人员和用户 |
Azure Pipelines,TFS 2017 及更高版本 |
Azure 应用服务部署任务 - Azure 应用服务部署任务用于更新Azure 应用服务以部署Web 应用、Functions 和 WebJobs。 |
Azure Pipelines,Azure DevOps Server 2019 |
Azure 应用服务管理任务 - 启动、停止、重启、槽交换、使用预览交换、安装站点扩展或为Azure 应用服务启用持续监视 |
Azure Pipelines |
Azure 应用服务 设置任务 - Azure 应用服务 设置任务支持使用 Web 应用或任何部署槽上的 JSON 语法批量配置应用设置、连接字符串和其他常规设置。 |
Azure Pipelines |
| Azure Pipelines,Azure DevOps Server 2019 | |
Azure 云服务部署任务 - 部署 Azure 云服务 |
Azure Pipelines |
Azure Database for Mysql 部署任务 - 运行脚本并更改 Azure DB for Mysql。 |
Azure Pipelines |
| Azure Pipelines,TFS 2015.3 及更高版本 | |
用于容器的 Azure Function App 任务 - 使用自定义映像在 Linux 上部署Azure Functions |
Azure Pipelines |
Azure Function App 任务 - Azure 应用服务部署任务用于更新Azure 应用服务以部署Web 应用、Functions 和 WebJobs。 |
Azure Pipelines |
| Azure Pipelines,Azure DevOps Server 2019 | |
Azure Monitor 警报任务 - 针对 Azure 资源的可用指标配置警报 |
Azure Pipelines |
Azure Policy任务 - 使用 Azure 策略进行安全性和合规性评估 |
Azure Pipelines,Azure DevOps Server 2019 |
| Azure Pipelines | |
| Azure Pipelines | |
Azure Spring Cloud 任务 - 将应用程序部署到 Azure Spring Cloud 并管理 Azure Spring Cloud 部署。 |
Azure Pipelines |
Azure SQL 数据库部署任务 - 使用 DACPAC 部署 Azure SQL DB 或使用 SQLCMD 运行脚本 |
Azure Pipelines |
Azure 虚拟机规模集部署任务 - 部署虚拟机规模集映像 |
Azure Pipelines |
用于容器的 Azure Web 应用任务 - 将 Web 应用、Functions 和 WebJobs 部署到 Azure 应用 服务 |
Azure Pipelines |
Azure Web 应用任务 - Azure 应用服务部署任务用于更新Azure 应用服务以部署Web 应用、Functions 和 WebJobs。 |
Azure Pipelines |
生成计算机映像任务 - 使用 Packer 生成计算机映像以用于 Azure 虚拟机规模集部署 |
Azure Pipelines |
Chef Knife 任务 - 在 Chef 工作站上使用 Knife 命令运行脚本 |
Azure Pipelines |
Chef 任务 - 通过编辑环境属性部署到 Chef 环境 |
Azure Pipelines |
通过 SSH 任务复制文件 - 通过 SSH 任务复制文件,以便在所有生成和发布管道的作业中使用 |
Azure Pipelines,TFS 2017 及更高版本 |
IIS Web 应用部署任务 - 使用 WebDeploy 部署网站或 Web 应用 |
Azure Pipelines |
IIS Web 应用管理任务 - 创建或更新网站、Web 应用、虚拟目录或应用程序池 |
Azure Pipelines |
Kubectl 任务 - 通过运行 kubectl 命令在 Azure 容器服务中部署、配置或更新 Kubernetes 群集。 |
Azure Pipelines |
Kubernetes 清单任务 - 烘焙清单并将清单部署到 Kubernetes 群集 |
Azure Pipelines |
"计算机组上的 MySQL 数据库部署"任务 - 该任务用于为 MySQL 数据库部署。 |
Azure Pipelines |
打包和部署 Helm 图表任务 - 通过运行 helm 命令在 Azure 容器服务中部署、配置、更新 Kubernetes 群集。 |
Azure Pipelines,Azure DevOps Server 2019 |
| Azure Pipelines,TFS 2015 RTM 及更新版本 | |
Service Fabric应用程序部署任务 - Service Fabric应用程序部署任务 |
Azure Pipelines,TFS 2017 及更高版本 |
Service Fabric撰写部署任务 - Service Fabric撰写部署任务 |
Azure Pipelines,Azure DevOps Server 2019 |
SSH 部署任务 - 用于所有生成和发布管道作业的 SSH 任务 |
Azure Pipelines,TFS 2017 及更高版本 |
| Azure Pipelines,TFS 2015 RTM 及更新版本 | |
WinRM SQL Server DB 部署任务 - 使用 DACPAC 或 SQL 脚本部署到SQL Server数据库 |
Azure Pipelines |
工具
| 任务 | 版本 |
|---|---|
Docker Installer 任务 - 在代理计算机上安装 Docker CLI |
Azure Pipelines,Azure DevOps Server 2019 |
Go 工具安装程序任务 - 将特定版本的 Go 工具查找或下载到工具缓存中,并将其添加到 PATH |
Azure Pipelines |
Helm 安装程序任务 - 在代理计算机上安装 helm |
Azure Pipelines |
Java 工具安装程序任务 - 更改 Java 版本 |
Azure Pipelines |
Kubectl 安装程序任务 - 在代理计算机上安装 kubectl |
Azure Pipelines |
Node.js工具安装程序任务 - 查找、下载和缓存指定版本的Node.js并将其添加到 PATH |
Azure Pipelines |
NuGet工具安装程序任务 - 查找、下载和缓存指定版本的NuGet并将其添加到 PATH |
Azure Pipelines |
使用 .NET Core 任务 - 从 Internet 或工具缓存中获取特定版本的 .NET Core,并将其添加到 PATH |
Azure Pipelines |
使用 Python 版本任务 - 选择要在代理上运行的 Python 版本,并选择性地将其添加到 PATH |
Azure Pipelines |
使用 Ruby 版本任务 - 选择要在代理上运行的 Ruby 版本,并选择性地将其添加到 PATH |
Azure Pipelines |
Visual Studio测试平台安装程序任务 - 从 nuget.org 或工具缓存获取测试平台,并允许运行测试和收集诊断数据 |
Azure Pipelines |
若要详细了解工具安装程序任务,请查看工具安装程序。
开源
这些任务已在 GitHub 上开源。 欢迎提供反馈和建议。
常见问题解答
我可在哪里逐步学习如何生成应用?
我是否可添加自己的生成任务?
是:添加生成任务
需要使用代理吗?
至少需要一个代理才能运行生成或发布。
我遇到了问题。 如何对其进行故障排除?
请查看排查生成和发布问题。
我无法选择默认代理池,无法将生成或发布排队。 如何修复此问题?
请查看代理池。
我的 NuGet 推送任务失败,出现“错误: 无法获取本地颁发者证书”错误。 如何解决此问题?
可通过添加受信任的根证书来解决此问题。 可将环境变量 NODE_EXTRA_CA_CERTS=file 添加到生成代理,也可在管道中添加任务变量 NODE.EXTRA.CA.CERTS=file。 有关此变量的更多详细信息,请参阅 Node.js 文档。 有关在管道中设置变量的说明,请参阅在管道中设置变量。
我在本地使用 TFS,但没有看到其中某些功能。 为什么看不到?
其中某些功能仅在 Azure Pipelines 上可用,在本地尚不可用。 如果你已升级到最新版本的 TFS,则可在本地使用这些功能。






















































































































