Azure DevOps 入门指南:开启你的现代化软件交付之旅
在当今快速变化的软件开发领域,拥抱 DevOps 文化和实践已成为提升效率、加速交付并确保软件质量的关键。而微软 Azure DevOps 平台,正是一个集成了计划、开发、测试、部署和持续交付等一系列强大工具的综合性解决方案。
如果你是刚刚接触 Azure DevOps,或者正在寻找一个能够覆盖整个软件生命周期的集成平台,那么这篇入门指南将是你的绝佳起点。我们将从零开始,带你了解 Azure DevOps 是什么、它包含哪些核心服务,并指导你完成创建组织和项目的基本步骤,最终让你能够初步运用其核心功能。
第一部分:认识 Azure DevOps – 它是做什么的?
简单来说,Azure DevOps 是微软提供的一套基于云的(也提供本地版本 Azure DevOps Server)开发者服务,旨在帮助团队规划工作、协同开发代码、构建和部署应用程序。它将软件开发过程中的各个环节紧密连接起来,促进开发(Dev)和运营(Ops)之间的协作。
Azure DevOps 不是单一工具的集合,而是一个高度集成、端到端的平台。它支持各种编程语言、框架和云平台(包括 Azure、AWS 和 Google Cloud),也能够与许多第三方工具无缝集成。
使用 Azure DevOps 的核心价值在于:
- 端到端集成: 将需求管理、代码版本控制、自动化构建、测试管理、发布部署等全部集中在一个平台,减少工具链的碎片化。
- 敏捷支持: 提供强大的工作项管理工具,支持 Scrum、看板(Kanban)等多种敏捷方法,帮助团队规划、跟踪和管理工作。
- 自动化: 提供强大的持续集成(CI)和持续部署(CD)能力,实现从代码提交到生产环境的全自动化流程。
- 协作与可见性: 增强团队成员之间的协作,提供整个开发流程的实时可见性,便于监控进度和瓶颈。
- 灵活性: 既可以使用所有集成服务,也可以仅使用其中一部分,并与其他工具结合。
Azure DevOps 提供了以下核心服务:
- Azure Boards: 用于敏捷规划、工作项跟踪和可视化。你可以使用它来管理待办事项(backlog)、冲刺(sprint)、任务、bug 等,并使用看板或任务板来跟踪进度。
- Azure Repos: 提供无限量的私有 Git 代码仓库或 Team Foundation Version Control (TFVC) 仓库。Git 是现代软件开发中最流行的版本控制系统。
- Azure Pipelines: 自动化构建、测试和部署应用程序的持续集成/持续交付 (CI/CD) 服务。支持各种语言、平台和云目标。
- Azure Test Plans: 提供端到端的测试解决方案,包括计划手动测试、探索性测试、跟踪测试进度和分析结果。
- Azure Artifacts: 允许你创建、托管和共享各种软件包(如 NuGet、npm、Maven、PyPI 等)的 Feeds,方便团队内部或组织内共享和重用组件。
这些服务可以单独使用,也可以组合起来,形成一个完整的 DevOps 工作流。
第二部分:开始你的 Azure DevOps 之旅 – 创建组织与项目
要开始使用 Azure DevOps,你需要一个微软账户(Microsoft Account – MSA)或 Azure Active Directory (AAD) 账户。个人用户通常使用 MSA 即可。
步骤 1:访问 Azure DevOps 并登录
打开浏览器,访问 Azure DevOps 的官方网站:https://dev.azure.com
点击 “Start free” 或 “Sign in”。使用你的微软账户或 Azure AD 账户登录。
步骤 2:创建 Azure DevOps Organization
第一次登录后,系统会提示你创建一个 Azure DevOps Organization(组织)。组织是 Azure DevOps 的顶层容器,它包含了你的一个或多个项目、用户、权限、计费设置等。通常,一个公司或一个大型部门会创建一个组织。
- 给你的组织起一个名字。这个名字将成为你的 Azure DevOps URL 的一部分,例如
dev.azure.com/你的组织名称
。选择一个简洁且具有描述性的名字。 - 选择一个位置(Region)。选择离你或你的团队地理位置较近的区域,这有助于改善性能。
- 填写验证码(如果需要)。
- 点击 “Continue” 或 “Create organization”。
创建组织的过程可能需要一些时间。完成后,你会被重定向到你的新组织页面。
步骤 3:创建你的第一个 Project
在组织内部,所有的开发工作都围绕 Project(项目)展开。一个项目通常对应一个具体的软件产品、服务、应用程序或大型的工作计划。
在组织页面,点击 “Create project” 或页面上的相应按钮。
- Project name: 给你的项目起一个名字。选择一个能清晰表达项目目的的名字。
- Description (Optional): 添加一个项目描述,说明项目的目标或内容。
- Visibility: 选择项目的可见性。
Public
: 任何互联网用户都可以查看项目的内容(代码、工作项等),但贡献代码或修改需要特定权限。适用于开源项目。Private
: 只有明确授权的用户才能访问项目内容。这是大多数企业内部项目的默认选择。
-
Advanced: 展开 “Advanced” 部分,进行更多配置。
- Version control: 选择版本控制系统。推荐选择 Git,它是分布式版本控制系统,现代开发的主流。另一个选项是 TFVC(集中式版本控制系统),通常用于从较旧的 TFS 版本迁移过来的项目。
- Work item process: 选择工作项流程模板。这决定了你在 Azure Boards 中可以使用哪些工作项类型(如用户故事、任务、Bug 等)以及它们的工作流程。常见的模板有:
Agile
: 支持敏捷开发方法,包括用户故事、任务、Bug 等。Scrum
: 支持 Scrum 框架,包括产品待办项(Product Backlog Item)、冲刺待办项(Sprint Backlog Item)、任务、Bug 等。CMMI
: 支持能力成熟度模型集成,更偏向于规范和文档化流程。Basic
: 提供最基本的工作项类型(Epic, Issue, Task)。
对于初学者,Agile
或Scrum
是不错的选择。
-
点击 “Create project”。
项目创建成功后,你将被带到你的项目概览页面。恭喜你!你已经成功创建了 Azure DevOps 组织和你的第一个项目。
第三部分:初步探索核心服务与实践
现在你已经进入了项目页面,让我们简单了解一下如何开始使用一些核心服务。
3.1 Azure Boards:管理你的工作
Azure Boards 是你进行敏捷规划和工作跟踪的地方。
- 导航: 在左侧导航栏点击 “Boards”。
- Backlog (待办事项): 点击 “Backlogs”。在这里,你可以创建和管理你的产品待办事项(在 Scrum 模板中称为 Product Backlog Items,在 Agile 模板中称为 User Stories)以及 Bug。
- 点击 “+ New Work Item”。
- 选择工作项类型(例如 “User Story” 或 “Product Backlog Item”)。
- 填写标题(如 “As a user, I want to login…”)。
- 点击 “Add to top” 或 “Add to bottom” 来添加到待办事项列表中。
- 点击工作项标题进入详情页,可以添加描述、优先级、分配人员、关联到迭代(Sprint)等。
- Sprints (冲刺): 点击 “Sprints”。在这里,你可以规划和管理你的冲刺周期。
- 如果项目刚创建,你可能需要先配置迭代周期(Project Settings -> General -> Iterations)。
- 将 Backlog 中的工作项拖动到当前的冲刺中,进行冲刺规划。
- 在 Sprint 页面,你可以看到冲刺任务板(Taskboard),将工作项分解成具体的任务(Tasks),并跟踪每个任务的状态(To Do, Doing, Done)。
- Boards (看板/任务板): 点击 “Boards”。你可以以看板形式可视化工作流。工作项在不同的列之间移动,代表其状态的变更。你可以自定义看板的列以匹配你的实际工作流程。
入门实践: 创建几个用户故事或产品待办事项,将其中一两个分配到当前的冲刺中,然后切换到 Sprints 页面的 Taskboard,为这些工作项添加子任务。尝试在看板上拖动任务,体验工作状态的流转。
3.2 Azure Repos:存储和管理你的代码
Azure Repos 让你能够托管你的代码库,并进行版本控制和团队协作。
- 导航: 在左侧导航栏点击 “Repos”。
- 克隆代码库: 如果你的项目是空的,Azure Repos 会引导你导入或初始化一个仓库。如果已有代码,你会看到代码文件列表。
- 点击右上角的 “Clone” 按钮。
- 选择你习惯的开发环境(如 Visual Studio, VS Code, Eclipse 等),或者直接复制 Git URL (
https://dev.azure.com/你的组织名称/你的项目名称/_git/你的仓库名称
)。 - 在你的本地机器上,打开终端或 Git Bash,使用
git clone <复制的Git URL>
命令将代码库克隆到本地。
- 进行代码更改并提交:
- 在本地的代码库中,用你喜欢的编辑器修改或添加文件。
- 使用 Git 命令进行操作:
git status
: 查看修改的文件。git add .
: 添加所有修改到暂存区。git commit -m "你的提交消息"
: 提交更改到本地仓库。git push origin <你的分支名称>
: 将本地提交推送到远程 Azure Repos。
- 创建 Pull Request (PR): Pull Request 是团队协作进行代码审查的关键环节。
- 通常,你会在一个新的分支上进行开发 (
git checkout -b 你的新分支名称
)。 - 将新分支推送到远程 (
git push origin 你的新分支名称
)。 - 回到 Azure Repos 页面,系统通常会提示你刚推送了一个新分支,是否创建 Pull Request。或者你可以手动点击 “Pull requests” -> “New pull request”。
- 选择你的源分支(Source branch)和目标分支(Target branch,通常是
main
或master
)。 - 填写 PR 标题和描述。
- 添加审查者(Reviewers)。
- 点击 “Create”。
- 审查者可以在 PR 页面查看代码差异、添加评论。通过审查后,PR 可以被完成(合并代码到目标分支)。
- 通常,你会在一个新的分支上进行开发 (
入门实践: 在本地克隆你的项目仓库,创建一个新的文件,添加一些内容,然后通过 Git 命令提交并推送到远程仓库。接着,在 Azure Repos 页面创建一个 Pull Request,自己作为审查者来体验代码审查流程,并最终完成 PR。
3.3 Azure Pipelines:自动化你的构建和部署
Azure Pipelines 是 Azure DevOps 的 CI/CD 服务,它可以自动执行代码的构建、测试和部署过程。
- 导航: 在左侧导航栏点击 “Pipelines”。
- 创建第一个 Pipeline: 点击 “Create Pipeline”。
- 连接代码库: 选择你的代码库位置,例如 Azure Repos Git。
- 配置 Pipeline: Azure Pipelines 会尝试检测你的代码类型,并推荐一个 YAML 管道模板(YAML is recommended for modern pipelines)。
- 选择一个适合你的项目类型的模板(如 ASP.NET Core, Node.js, Python, Maven 等)。
- 系统会生成一个
azure-pipelines.yml
文件。这个文件定义了 CI/CD 过程的各个阶段(Stages)、作业(Jobs)和步骤(Steps)。 - YAML 文件通常包含:
trigger
: 指定何时触发管道运行(如代码推送到某个分支时)。pool
: 指定构建代理运行的环境。steps
: 定义构建过程的具体指令,如安装依赖、编译代码、运行测试、发布构建产物(Artifacts)。
- 保存并运行: 检查生成的 YAML 文件,根据需要进行修改(例如,修改测试命令、构建目标等)。点击 “Save and run”。
- 查看运行结果: 管道开始运行后,你可以看到作业的实时日志输出。完成后,你可以查看构建结果、测试报告、生成的 Artifacts 等。
入门实践: 如果你的项目是某种常见类型的应用(如 .NET Core Web App, Node.js App),尝试让 Azure Pipelines 自动生成一个 YAML 管道。保存并运行它,观察构建过程。如果生成失败,尝试阅读错误信息并根据你的项目结构调整 YAML 文件中的路径或命令。这是一个学习 YAML 管道语法的过程。
3.4 Azure Test Plans:管理测试活动
Azure Test Plans 提供了一套用于手动测试、探索性测试和测试用例管理的工具。
- 导航: 在左侧导航栏点击 “Test Plans”。
- 创建测试计划: 点击 “New Test Plan”。给测试计划命名(如 “Release 1.0 – Acceptance Tests”)。
- 添加测试用例: 在测试计划下,你可以创建或导入测试用例。
- 点击 “New Test Case”。
- 填写测试用例的标题、步骤(包含操作和预期结果)。
- 将测试用例添加到测试套件(Test Suite)中,以便组织管理。
- 运行测试: 选择一个测试套件或测试用例,点击 “Run” -> “Run for web application” 或 “Run with options”。
- 打开 Web Runner,按照测试步骤执行测试,并标记每一步的结果(Pass/Fail)。
- 如果发现 Bug,可以直接在 Runner 中创建 Bug 工作项,并自动关联到当前的测试用例和测试运行。
入门实践: 创建一个简单的测试计划,添加一两个测试用例(例如测试登录功能)。尝试运行这些测试用例,并模拟发现 Bug 的场景,在 Runner 中创建 Bug。
3.5 Azure Artifacts:管理软件包依赖
Azure Artifacts 允许你创建和托管各种软件包 Feeds,用于存储和共享 NuGet、npm、Maven、PyPI 等包。这对于管理项目依赖和在团队内部共享可重用组件非常有用。
- 导航: 在左侧导航栏点击 “Artifacts”。
- 创建 Feed: 点击 “Create Feed”。给 Feed 命名,选择可见性(项目内或组织内),并选择上游源(是否包含来自公共仓库如 nuget.org 的包)。
- 连接到 Feed: 点击创建的 Feed 名称,然后点击 “Connect to feed”。选择你的包类型(如 NuGet 或 npm),Azure Artifacts 会提供配置说明,指导你如何在你的开发环境中(如 Visual Studio, npm CLI)配置连接,以便从你的 Feed 中推送或拉取包。
入门实践: 创建一个私有的 npm Feed。根据页面上的说明,在你的本地开发环境中配置 npm,使其能够连接到这个 Feed。
第四部分:关键概念回顾
在使用 Azure DevOps 的过程中,理解一些核心概念非常重要:
- Organization (组织): 顶层容器,包含多个项目,管理用户、权限、计费等。
- Project (项目): 工作单元,通常对应一个应用或服务,包含 Boards, Repos, Pipelines 等资源。
- Work Item (工作项): Azure Boards 中的基本单元,代表需要完成的工作,如 Epic, Feature, User Story, Task, Bug 等。
- Repository (仓库): 存储代码的地方,可以是 Git 或 TFVC。
- Branch (分支): Git 中的概念,允许在不影响主线开发的情况下进行独立开发。
- Pull Request (PR): Git 中的协作机制,用于在合并代码前进行审查和讨论。
- Pipeline (管道): 自动化工作流的定义,用于构建、测试、部署等。
- Build (构建): 管道中的一个阶段或作业,通常指编译代码、运行单元测试、打包应用程序。
- Release (发布/部署): 管道中的一个阶段或作业,指将构建好的应用程序部署到特定的环境(开发、测试、生产等)。
- CI (持续集成 – Continuous Integration): 开发人员频繁地将代码集成到共享仓库,并通过自动化构建和测试来验证集成的过程。
- CD (持续交付/持续部署 – Continuous Delivery/Continuous Deployment): 持续交付是指代码可以通过自动化流程随时准备好部署到生产环境;持续部署则是在通过所有自动化测试后,代码会自动部署到生产环境。
第五部分:Azure DevOps 的优势总结
回顾一下,为什么选择 Azure DevOps:
- 一体化平台: 涵盖 DevOps 全生命周期,减少工具链的复杂性。
- 强大的自动化能力: CI/CD Pipelines 支持多种技术栈和部署目标。
- 完善的敏捷支持: Boards 提供灵活的工作项管理和可视化。
- 高质量的代码管理: 基于 Git 的 Repos 支持高效协作和版本控制。
- 灵活的集成能力: 可以轻松与 Azure 云服务及其他第三方工具集成。
- 可扩展性: 随着团队和项目的增长,平台能够轻松扩展。
- 免费层: 为小型团队(最多 5 个用户)提供免费服务层,是入门和个人项目的好选择。
第六部分:后续学习资源
这篇指南仅仅是 Azure DevOps 的冰山一角。要更深入地掌握它,你可以:
- 查阅官方文档: Microsoft Docs 提供了最权威和详细的 Azure DevOps 文档 (https://docs.microsoft.com/en-us/azure/devops/)。
- 尝试更多功能: 探索每个服务的更多高级设置和功能。
- 学习 YAML Pipelines: 掌握 YAML 语法是配置现代 CI/CD 流程的关键。
- 了解与 Azure 服务的集成: 如果你使用 Azure 云,学习如何将 Pipelines 与 Azure App Service, Azure Kubernetes Service (AKS), Azure Functions 等服务集成。
- 学习 DevOps 实践: 深入了解 DevOps 文化、敏捷方法和 CI/CD 的最佳实践。
总结
Azure DevOps 是一个功能丰富且高度集成的 DevOps 平台,能够显著提升软件开发团队的效率和协作能力。通过本指南,你已经了解了 Azure DevOps 的核心组成部分,并掌握了创建组织和项目的基本步骤,以及初步使用 Boards、Repos 和 Pipelines 的方法。
现在,是时候在你的项目中实践这些知识了。从管理工作项、提交代码,到设置自动构建和部署,每一步都将帮助你更熟悉这个强大的平台。
祝你在 Azure DevOps 的学习和使用旅程中一切顺利!