Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure DevOps 是一个基于云的平台,为软件开发团队提供集成工具。 它包括规划工作、协作处理代码、生成应用程序、测试功能和部署到生产所需的一切内容。
Azure DevOps 提供了一系列服务模型,以满足每个团队的独特需求。 免费访问版本可帮助小型团队快速入门;而多功能订阅和按次付费计划支持全面的项目管理。
主要特征:
端到端项目管理:Azure DevOps 是一套内聚的服务,旨在支持软件项目的整个生命周期。 它涵盖了从最初的规划和开发,到严格的测试,再到最终部署的所有内容。
客户端/服务器模型交付:Azure DevOps 基于客户端/服务器模型运行,为你与服务的交互方式提供了灵活性。 Web 界面提供了一种方便的方式来利用大多数服务,并与所有主要浏览器兼容。 此外,某些服务(如源代码管理、生成管道和工作跟踪)提供基于客户端的管理选项,用于增强控制。
灵活且可缩放的服务选项:Azure DevOps 通过提供一系列服务选项来满足各种规模的团队的需求。 对于小型团队,许多服务都是免费的,确保你无需任何初始投资即可使用强大的项目管理工具。 对于更大的团队或更高级的需求,可以通过订阅模型或按使用付费的方式访问服务。
核心服务
Azure DevOps 包含以下集成服务:
Azure Boards:使用敏捷工具、看板板、待办事项和仪表板进行工作的规划和跟踪。 创建工作项,例如用户情景、bug 和任务。 使用冲刺规划、燃尽图和速度跟踪。 自定义工作流和工作项类型,以匹配团队的过程。
示例方案: 规划移动应用功能的产品团队为“用户登录”创建用户情景,跟踪开发期间发现的 bug,并使用冲刺板在两周迭代期间监视进度。
Azure Repos:托管无限制的专用 Git 存储库,或使用 Team Foundation 版本控制(TFVC)进行源代码管理。 功能包括分支策略、包含代码评审的拉取请求、冲突解决以及与常用 IDE 和编辑器的集成。
示例方案: 开发团队成员为新功能创建功能分支,提交代码评审拉取请求,并使用分支策略来确保在合并到主分支之前检查并测试所有代码。
Azure Pipelines:使用任何语言、平台和云的 CI/CD 管道生成、测试和部署应用程序。 支持将 Docker 容器、Kubernetes 和部署到 Azure、AWS、Google Cloud 或本地。 包括并行作业、部署入口和发布审批。
示例方案: 每个代码提交都会触发一个自动化管道,该管道生成 .NET Web 应用程序、运行单元测试、创建 Docker 容器,并在生产发布之前部署到过渡环境进行测试。
Azure 测试计划:使用手动测试用例、探索性测试会话和自动测试集成来计划、执行和跟踪测试。 创建测试套件、跟踪测试结果、捕获屏幕截图和视频,并生成详细的测试报告。
示例方案: QA 团队为用户注册流创建测试用例,在不同浏览器上执行手动测试,捕获问题的屏幕截图,并将测试结果链接到用户情景以获取可跟踪性。
Azure Artifacts:与团队和组织创建、托管和共享包,例如 NuGet、npm、Maven、Python 和通用包。 与生成管道集成,管理包版本,并使用上游源和保留策略控制访问权限。
示例方案: 开发团队创建共享身份验证库,将其作为 NuGet 包发布到 Azure Artifacts,并在控制对内部包的访问的同时跨多个项目引用它。
Azure DevOps Services 如何协同工作
下图显示了服务如何在整个开发生命周期内集成:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Azure Boards │ │ Azure Repos │ │ Azure Pipelines │
│ │ │ │ │ │
│ ? Plan features │────│ ? Store code │────│ ? Build apps │
│ ? Track bugs │ │ ? Code reviews │ │ ? Run tests │
│ ? Manage sprints│ │ ? Branch policies│ │ ? Deploy code │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Azure Test Plans│ │ Azure Artifacts │ │ Dashboards │
│ │ │ │ │ │
│ ? Test planning │ │ ? Package feeds │ │ ? Project views │
│ ? Manual testing│?───│ ? Version control│───?│ ? Team metrics │
│ ? Test reporting│ │ ? Dependency mgmt│ │ ? Build status │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Flow: Plan → Code → Build → Test → Deploy → Monitor → Repeat
典型工作流:
- 在 Azure Boards 中规划工作项
- 在 Azure Repos 中使用拉取请求管理代码功能
- 使用 Azure Pipelines 和 Azure Artifacts 构建和打包
- 使用 Azure 测试计划手动自动测试
- 使用 Azure Pipelines 部署到不同环境
- 通过仪表板监视进度和指标
- 根据反馈和新要求进行迭代
有关详细信息,请参阅连接到 Azure DevOps 的工具和客户端。
仪表板
Azure DevOps 提供可自定义的仪表板,用于显示实时项目数据和工作流。 创建个性化视图以监视团队的进度和性能。
关键功能:
- 多个仪表板:创建和自定义仪表板,并使用展示生成状态、测试结果和工作项查询的小部件
- 快速导航:使用仪表板作为中心中心访问项目的不同区域
- 扩展性:集成非Microsoft服务或创建自定义扩展以扩展功能
有关详细信息,请参阅仪表板文档。
Azure Boards
新式软件开发需要跨团队进行高效的工作跟踪和协作。 Azure Boards 提供敏捷工具,可在整个开发生命周期内简化规划和跟踪。
关键功能:
- 工作项管理:创建和更新用户情景、bug、任务和功能
- 查询和图表:生成自定义查询并生成状态图表以可视化进度
- 积压工作管理:确定工作优先级并维护清晰、可作的积压工作
- 冲刺规划:使用速度指标规划迭代和跟踪冲刺进度
- 任务板:通过交互式看板更新工作状态
- 项目组合管理:从特性到任务分层次地组织工作
- Scrum 支持:通过实时板促进和引导日常站会和冲刺评审
Azure Boards 支持多个工作项类型,每个类型都有可自定义的字段,用于跟踪开发过程的进度。 无论你是使用 Scrum、Kanban 还是 Scrumban,Azure Boards 都提供待办列表和面板来支持你的方法。
团队能够获得对项目状态的全面洞察,通过全面的仪表板和报告实现数据驱动的决策和趋势监测。
有关详细信息,请参阅 什么是 Azure Boards?
Azure Repos
Azure Repos 提供源代码管理系统,可在保持完整的更改历史记录的同时在基本代码上实现无缝协作。 这些存储库对于多开发人员项目至关重要,可确保在整个开发过程中保持一致性和协调。
Azure DevOps 支持两个源代码管理选项:Git 和 Team Foundation 版本控制(TFVC)。
Git
Git 为每个开发人员提供具有本地存储库副本的分布式版本控制,可实现脱机工作和灵活的分支。 Git 是新项目的默认选择。
注释
Azure DevOps 中的 Git 是标准 Git。 可以将 Visual Studio 与非Microsoft Git 服务配合使用。 还可以将非Microsoft Git 客户端与 Azure DevOps Server 配合使用。
关键功能:
- 查看文件:检查文件详细信息和更改历史记录
- 下载和编辑文件:获取本地副本并进行修改
- 管理提交:跟踪提交和维护明确的更改历史记录
- 使用拉取请求:创建、评审和完成协作代码评审
- 使用 Git 标记:在存储库历史记录中标记特定点
TFVC
Team Foundation 版本控制(TFVC)通过服务器端历史记录管理提供集中式版本控制。 开发人员在本地处理单个文件版本,而服务器维护完整的更改历史记录。
关键功能:
- 单版本工作流:开发人员使用当前文件版本,降低复杂性
- 服务器端历史记录:在服务器上安全存储的所有更改和版本
- 基于路径的分支:由服务器管理的,具有明确组织的分支
开发环境集成
Azure DevOps 支持使用广泛的工具集成进行多平台开发:
- 跨平台支持:开发适用于 Android、iOS、Linux、macOS 和 Windows 的应用程序
- IDE 集成:适用于 Android Studio、Eclipse、IntelliJ、Visual Studio、VS Code 和 Xcode
- 语言支持:支持 .NET、Java、Node.js、Python、PHP、Ruby 等
- 客户端灵活性:将 Git 或 TFVC 与首选的开发工具配合使用
Azure Pipelines
Azure Pipelines 自动执行生成、测试和发布过程,以实现快速可靠的软件交付。
核心功能:
- 自动构建:在代码提交时使用自动集成和验证触发构建
- 测试集成:在生成后运行测试以验证更改并提前检测问题
- 发布管道:在从暂存到生产的整个环境中部署生成
关键功能:
- 持续集成(CI):自动生成和测试代码更改
- 持续交付(CD):优化从开发到生产的稳定版本发布
- 生成自动化:使用定义的步骤和触发器自定义生成过程
- 发布管理:配置多环境部署管道
- 部署自动化:减少手动工作量和部署错误
- 审批工作流:在提升生成之前添加验证层
- 发布跟踪:监视跨环境部署
有关详细信息,请参阅 什么是 Azure Pipelines?
Azure Test Plans
Azure 测试计划通过手动、探索和自动测试管理实现全面测试。
关键功能:
- 工作流自定义:创建符合项目需求的可自定义测试计划、套件和事例
- 可追溯性:将需求直接链接到测试用例和缺陷,以进行端到端的跟踪
- 测试选择:对基于条件的测试选择使用基于查询的测试套件
- 用户友好的界面:通过类似 Excel 的网格界面管理测试用例
- 可重用元素:跨测试共享测试步骤和参数,实现一致性
- 协作:与利益干系人共享测试计划以供评审和反馈
- 跨平台执行:在任何平台上从任何浏览器执行测试
- 活动监视:使用实时图表和报告跟踪测试进度
有关详细信息,请参阅 Azure 测试计划文档。
Azure Artifacts
Azure Artifacts 为 NuGet、npm、Maven、Python 和通用包启用包管理。 与生成管道集成,管理版本,并使用上游源和保留策略控制访问权限。
关键功能:
- 多个包类型:在单个源中托管所有主要包类型
- 上游源:在维护安全性的同时连接到公共存储库
- 包版本控制:使用语义版本控制和保留策略管理版本
- 访问控制:使用精细访问管理控制源权限
- 生成集成:在生成管道中自动发布和使用包
- 代码搜索:按路径、文件扩展名和代码类型筛选的存储库
协作服务
Azure DevOps 通过以下旨在简化通信和项目跟踪的服务增强团队协作:
- 项目 Wiki:在一个集中的、易于访问的 Wiki 中记录项目详细信息、指导方针和知识库。
- 工作项讨论:促进直接在工作项表单中的对话,并支持上下文和及时的通信。
- 可追溯性链接:在工作项、提交、拉取请求等之间建立链接,并帮助确保整个项目的全面可追溯性。
- 警报和通知:设置个性化警报和更改通知,让团队成员了解项目更新和更改。
- 反馈管理:简化请求、提供和管理反馈的流程,以持续改进项目成果。
- 分析和和报告:使用分析服务和 Power BI 报告深入了解项目绩效,并做出数据驱动的决策。
这些协作服务对于维持一个能够快速响应项目需求和机会的有凝聚力和消息灵通的团队至关重要。
服务挂钩
服务钩子自动化与外部服务的交互,并对项目事件作出响应。 配置钩子以在代码提交、生成失败或工作项更改时发送通知、触发动作或与非 Microsoft 工具进行集成。
关键功能:
- 自定义应用集成:基于 Azure DevOps 事件触发应用程序中的自动作
- 服务目标:连接到各种外部服务,以便自动响应项目事件
有关可用集成,请参阅 Visual Studio Marketplace。 有关详细信息,请参阅与服务挂钩集成。
Azure 云托管服务
Azure 为独立工作或与 Azure DevOps 集成的应用程序开发和部署提供云服务,实现无缝工作流。
主要优势:
- 全面支持:整个应用程序生命周期的完整基础结构和平台支持
- 与 Azure DevOps 集成:组合服务创建集成开发体验
有关完整的服务目录,请参阅 Azure 产品。
管理服务
Azure DevOps 提供简化的管理工具,用于有效管理项目和团队。
关键功能:
- Web 门户管理:通过 Azure DevOps Web 门户执行管理任务
- 综合设置:使用精细控制为用户、团队、项目和组织配置详细设置
有关详细信息,请参阅关于用户、团队、项目和组织级设置。
关键功能
项目管理
- 跟踪用户情景、功能、bug 和任务
- 使用敏捷方法规划冲刺和发布
- 使用燃尽图和速度追踪监视进度
- 自定义工作项类型和工作流
源代码管理
- 托管无限制的专用 Git 存储库
- 支持 Git 工作流,包括分支、合并和拉取请求
- 包含注释和审批策略的代码评审功能
- 与 GitHub 和其他 Git 平台集成
构建和部署
- 与由代码更改触发的自动生成进行持续集成
- .NET、Java、Node.js、Python、Android、iOS、Linux、macOS 和 Windows 的多平台支持
- 部署到 Azure、AWS、GCP 或本地环境
- 跨开发、过渡和生产的多环境部署
- 使用审批入口和部署策略进行发布管理
- 使用多个构建代理进行并行处理,以加快CI/CD的速度
测试和质量
- 手动测试用例管理和执行
- 构建管道中的自动化测试集成
- 代码覆盖率和测试报告
- 安全扫描和合规性检查
为何选择 Azure DevOps Services?
Azure DevOps Services 为开发团队提供了多项优势:
- 快速设置:无需基础结构设置或维护即可立即开始使用 Azure DevOps
- 自动更新:在不手动干预的情况下获取最新功能和安全更新
- 全球规模:使用 99.9% SLA 构建在 Azure 的全球基础结构上
- 安全性:具有 Microsoft Entra ID 集成、合规性认证和数据保护的企业级安全性
- 集成:支持 GitHub、Visual Studio、VS Code 以及来自市场的数百个扩展
- 灵活性:支持任何开发堆栈、语言或平台
- 协作:消除团队之间的障碍,并鼓励整个开发生命周期中的协作
定价和访问
- 小型团队免费:最多 5 个用户有权访问所有基本功能
- 即用即付:根据需要添加具有“基本”或“基本 + 测试计划”许可证的用户
- 无限利益相关者:无限利益相关者可以免费访问以查看仪表板和工作项
Azure DevOps Server
Azure DevOps Server 适用于需要在本地保留其数据或需要云服务中不可用的特定自定义项的组织。 它包含与 Azure DevOps Services 相同的核心服务,但需要自己的基础结构和维护。
有关 Azure DevOps Server 的详细信息,请参阅 安装 Azure DevOps Server。
入门指南
准备好开始使用 Azure DevOps 了吗? 后续步骤如下:
- 创建免费组织 - 设置 Azure DevOps Services 组织
- 创建第一个项目 - 开始组织工作
- 邀请团队成员 - 添加团队成员进行协作
- 导入或创建存储库 - 将代码引入 Azure Repos
- 设置第一个流水线 - 自动化构建和部署