设置您的 Azure DevOps 环境
要使用 Azure DevOps 环境,首先需完成基础设置,以促进团队协作并贯穿端到端的开发流程。
创建 Azure DevOps 帐户
在使用 Azure DevOps 之前,您需要创建一个帐户。操作步骤如下:
- 访问 Azure DevOps 网站:前往 Azure DevOps 开始注册流程。点击 Get Started with Azure。

- 使用 Microsoft 帐户登录:如果您已有 Microsoft 帐户(如 Outlook、Xbox、Office 365),可直接登录;若没有,需创建一个免费的 Microsoft 帐户。
- 点击 Sign in 或 Create one! (Sign up)。
- 使用您的 Microsoft 凭据或其他登录方式进行登录。
- 点击 Next。

- 开始设置流程:勾选复选框并点击 Continue。登录后系统会要求您创建一个新组织。您的 Azure DevOps 团队与项目都将归属该组织。

在 Azure DevOps 中创建组织
Azure DevOps 的组织是承载您所有项目与代码库的地方,也是在此管理团队、权限与计费。
- 为组织命名:选择一个唯一的组织名称。这很重要,因为它将作为您的 Azure DevOps URL 的一部分(例如
https://dev.azure.com/yourorganization)。 - 选择区域:Azure DevOps 需要您选择数据存储的区域。默认区域对大多数人都适用,但如果您有特定要求(如合规),可以选择更靠近用户群的其他区域(如美国)。
- 确认并继续:填写完这些信息后点击 Continue。您的组织已准备就绪,系统会将您带到 Azure DevOps 主门户!

浏览 Azure DevOps 界面
创建组织后,您将进入 Azure DevOps 门户。主要服务分区包括 Overview、Boards、Repos、Pipelines、Test Plans 与 Artifacts。

这个界面一开始可能让人眼花缭乱,但 Azure DevOps 的核心功能可以归纳为版本控制、CI/CD 与项目管理。
创建新项目
现在您的帐户与组织都已设置完成,我们来创建您的第一个 Azure DevOps 项目。
设置新项目
- 点击 "New Project":在 Azure DevOps 门户中点击 New Project 按钮,以设置您的首个项目。
- 填写项目信息:
- Project name:为您的项目选择一个名称(例如“yourproject”)。
- Description(可选):简要描述该项目的内容。
- Visibility:选择项目公开或私有。 公开项目任何人可查看,适合开源项目;私有项目安全可控,仅受邀成员可访问。
- 创建项目:输入项目信息并选择版本控制系统后,点击 Create project。您的项目已设置完成!

- 版本控制系统:Azure DevOps 提供两种版本控制系统:Git 与 Team Foundation Version Control(TFVC)。
- Git 是更现代、在开发者社区广泛使用的分布式版本控制系统,适用于大多数项目。
- TFVC 是集中式版本控制系统,使用较少,常见于遗留项目。

根据我的经验,如果您刚起步或没有选择 TFVC 的特定理由,建议选择 Git。
准备好掌控您的代码了吗?学习 Git,开始像专业人士一样管理项目。
使用 Azure Repos 进行版本控制
现在您的项目已就绪,我们深入了解并探索一些关键功能。
设置 Git 代码库
- 前往 Repos:在左侧菜单中选择 Repos 选项卡。您将在此管理代码。

- 克隆代码库:您可以使用 Repos 区域中的 URL 将代码库克隆到本地计算机。例如:
# This command clones the specified Git repository from Azure DevOps to your local machine.
git clone https://[email protected]/yourorganization/yourproject/_git/yourrepo
我们把上述命令拆解一下:
- 将
yourorganization替换为您组织的名称。 - 将
yourproject替换为您项目的名称。 - 将
yourrepo替换为您代码库的名称。
下面是我在 Repos 区域中的 URL:

- 推送您的代码:本地克隆完成后,您可以添加代码并将其推送回 Azure DevOps。
git add .
git commit -m "my first commit"
git push origin main
恭喜!您已经在 Azure Repos 完成了首次提交。
分支与合并
在软件开发中,分支允许您在不影响主项目的情况下独立开发功能或修复。合并则是将一个分支的更改引入另一个分支的过程。
- 在本地创建分支:要开始开发某个功能,先创建新分支:
git checkout -b feature-branch
- 将分支推送到 Azure DevOps:在新分支中完成更改后,将其推送到 Azure DevOps:
git push origin feature-branch
在分支之间切换
要在分支之间切换,请使用以下命令:
git checkout main
或切换到其他分支:
git checkout feature-branch
删除分支
功能合并后,您可以在本地与远程删除该分支:
- 删除本地分支:
git branch -d feature-branch
- 删除远程分支:
git push origin --delete feature-branch
通过拉取请求合并分支
- 创建拉取请求:当功能分支准备合并到主分支时,前往 Azure DevOps 的 Pull Requests 区域并点击 New Pull Request。

- 审查并合并:审查更改并点击 Complete,将更改合并到主分支。
- 解决冲突:如果存在合并冲突(即同一代码位置有不同修改),需手动解决。Azure DevOps 会通过高亮冲突区域引导您完成处理。
管理拉取请求
拉取请求是代码审查与协作的关键环节。它允许团队成员在更改合并入主分支之前进行审阅。
创建拉取请求
- 创建拉取请求:推送功能分支后,导航到 Pull Requests 并点击 New Pull Request。选择源分支(如
feature-branch)与目标分支(如main)。 - 描述拉取请求:清晰说明该拉取请求包含的更改,方便审阅者了解关注点。
审阅与批准拉取请求
- 请求评审:添加团队评审者对代码变更进行审查。
- 批准并合并:拉取请求获批后,点击 Complete 将其合并到主分支。

创建与管理 CI/CD 流水线
Azure DevOps 同样包含 Pipelines,用于自动化构建、测试与部署流程。
什么是 Azure DevOps 中的流水线?
Azure DevOps 的流水线是一组自动化流程,帮助您:
- 构建代码(构建流水线)
- 进行测试
- 将其部署到不同环境(发布流水线)
这些流水线确保您的代码始终可部署,并可自动进行测试。
创建构建流水线
- 前往 Pipelines:在 Azure DevOps 项目中,点击 New Pipeline(位于 Pipelines 分区)。


- 选择来源:选择 Azure Repos Git 作为来源并选择您的代码库。

- 配置流水线:您可以使用 YAML 编辑器或 经典编辑器 进行配置。我们选择 YAML,这是一种基于代码的流水线定义方式。
以一个基础的 Node.js 应用为例。下面的 azure-pipelines.yml 文件包含 Azure DevOps 自动创建的 YAML 代码。
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: NodeTool@0
inputs:
versionSpec: '20.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'npm install and build'
- 保存并运行:保存流水线并运行,以验证一切是否正常。
运行构建流水线
设置好构建流水线后,您可以通过点击 Run Pipeline 手动运行。流水线将依次经过“安装依赖”“运行测试”“构建”等阶段。
您可以查看每一步的日志,以排查构建失败。Azure DevOps 提供详细日志,帮助您定位问题。
设置持续部署(CD)
- 前往 Releases:在 Pipelines 分区下,点击 Releases,然后点击 New Pipeline。


- 添加工件(Artifact):将构建流水线生成的工件链接为发布流水线的来源。

- 部署到环境:设置要部署应用的环境,如 Staging 与 Production。

自动化部署
Azure DevOps 可在每次触发新构建时自动部署应用。您可以通过添加触发器并定义部署到 Azure、AWS 等平台的任务来完成设置。
使用 Azure Boards 管理工作项
Azure Boards 是 Azure DevOps 项目管理的核心。它通过任务(Tasks)、缺陷(Bugs)、用户故事(User Stories)与史诗(Epics)等功能,帮助团队在整个软件开发生命周期内规划、跟踪与讨论工作。
无论采用 Scrum 还是看板(Kanban),Azure Boards 都能帮助您可视化、优先级化并高效管理工作。
我们按步骤来看看。
创建与管理工作项
Azure Boards 允许您使用工作项来管理任务、缺陷与功能。
- 创建工作项:前往 Boards,选择 Work items,并点击 New Work Item。

您可以创建:
- Epic:覆盖多个小项的大型项目或广泛工作。
- Issue:需要修复的具体问题或缺陷。
- Task:一项可执行的具体工作。

- 我们选择 Epic。
- 填写 Title、Description、Priority、Start Date 与 Target Date。点击 Save。

- 分配工作项
- 打开刚创建的工作项。
- 在 Assign people 字段中选择一位团队成员。
- 选择 Add tag 以便更好分类。点击 Save。

- 跟踪进度
- 使用 State 字段更新状态(如 New、Active、Resolved、Closed)。
- 添加评论或附件以提供更新或背景信息。
根据我的经验,当分配了明确负责人并设定合理截止日期时,团队更具责任感且更专注。
设置迭代与待办列表
敏捷迭代与待办列表是迭代式开发的关键。如下设置:
- 创建 Sprints:迭代(Sprint)是有时间边界的工作周期。可通过 Boards > Sprints 创建新迭代(如 “Sprint 1”)。


- 点击 Configure Team Settings 并定义迭代时长(如 2 周)。


- 为迭代添加开始与结束日期。

- 管理产品待办:在 Backlog 视图中,您可以按优先级组织工作项。前往 Boards > Backlogs。

- 拖放工作项至待办列表中以设置优先级。

- 可视化进度:Azure DevOps 帮助您可视化工作项并在各阶段间移动(如 To Do、Doing、Done)。使用 Board view 查看按列展示的工作项。

- 自定义列以匹配您团队的工作流。


根据我的经验,如果待办列表组织良好且对下一步工作明确清晰,能有效减少团队的停滞与困惑。
将工作项关联到提交
将工作项与提交关联有助于跟踪每个任务或缺陷对应的代码更改。操作如下:
- 关联到提交:可通过两种方式完成:在 Azure DevOps 控制台中或在本地开发环境中。
- Azure DevOps 控制台:在 Git 提交消息中包含
#WorkItemID(例如#1)。点击 Commit。Azure DevOps 会自动将提交与工作项关联。

- 本地开发环境:
- 在本地开发环境中打开终端或命令行。完成代码修改并准备提交。
- 在提交消息中使用井号包含工作项 ID(如:
Fixed bug in login analytics #1)。 - 运行相应命令完成提交:
git commit -m "Fixed bug in login analytics #1"
- 将提交推送到远程代码库(Azure Repo):
git push origin feature-branch
- 关联到拉取请求:
- 创建拉取请求时,在 Description 中提及工作项 ID。
- 点击 Create. Azure DevOps 将自动把拉取请求与工作项关联。

根据我的经验,这种关联可提供完整的可追溯性,便于查看哪些代码更改解决了特定任务或缺陷。请记住,您可以在工作项的 Development 区域查看关联的提交与 PR。
与其他工具集成
当 Azure DevOps 与 GitHub 及各类云平台集成时,优势更为明显。我们来看看如何设置。
将 Azure DevOps 与 GitHub 集成
将 Azure DevOps 连接到 GitHub 可简化协作与 CI/CD 自动化。步骤如下:
- 将 GitHub 连接到 Azure Pipelines:
- 前往 Pipelines > Create Pipeline。


- 选择 GitHub 作为来源。

- 授权 Azure DevOps 访问您的 GitHub 代码库。
GitHub 新手?通过 GitHub concepts 课程了解如何协作、跟踪更改与参与开源项目。
- 设置流水线
- 选择一个代码库并配置您的 YAML 流水线文件。


- 定义构建与部署步骤。YAML 示例:
# Set up the trigger for the pipeline
trigger:
# Specify the branches to include
branches:
include:
# Include the main branch
- main
# Define the jobs for the pipeline
jobs:
# Create a job named 'Build'
- job: Build
# List the steps for the 'Build' job
steps:
# Add a script step to print a message
- script: echo "Building the project..."
根据我的经验,此集成可自动确保代码更新与部署的顺畅衔接,减少人工操作。
将 Azure DevOps 连接到 Azure 与其他云平台
Azure DevOps 与 Azure 服务(如 Azure Web Apps、Azure Kubernetes Services(AKS)等)原生集成。我们来了解如何连接 Azure DevOps 与 Azure Web Apps。
- 链接到 Azure 服务:
- 在项目左下角前往 Project Settings,在 Pipelines 分区下点击 Service Connections。


-
- 点击 New Service Connection 并选择 Azure Resource Manager。


-
- 使用您的 Azure 帐户进行身份验证。
- 部署到 Azure
- 返回 Pipelines 并配置您的流水线。
- 在流水线中添加部署到 Azure 的任务。
- 指定资源组与服务详情。任务 YAML 示例:
# Define the task for deploying to an Azure Web App
- task: AzureWebApp@1
inputs:
# Specify your Azure subscription service connection
azureSubscription: 'Your-Service-Connection'
# Specify the name of your web app
appName: 'Your-Web-App'
我们把上述命令拆解一下:
- 将
Your-Service-Connection替换为具有您 Azure 订阅访问权限的服务连接名称。 - 将
Your-Web-App替换为您在 Azure 中的实际 Web 应用名称。
以我的经验来看,这种连接能让部署变得轻松,让您更专注于打造优秀的软件。
在 Azure DevOps 中的监控与报告
监控与报告是维护 Azure DevOps 项目健康状况的关键流程。我们来看看如何高效开展。
查看流水线指标
流水线指标可反映构建与部署的性能。访问方法如下。
- 监控流水线健康状况
- 前往 Pipelines > Analytics。
- 查看流水线通过率、测试通过率与流水线持续时间等指标。

- 识别瓶颈
- 使用 Pipeline Runs 报告查找失败阶段与缓慢构建。

-
- 导航至 Azure DevOps 的 Organization Settings > Pipelines > Parallel jobs,使用并行作业提升性能并优化任务。

根据我的经验,缓存依赖、拆分作业与优化流水线结构,能显著减少构建时间与失败率。
使用 Azure DevOps 报告
Azure DevOps 提供强大的报告工具,用于跟踪团队生产力与项目进展。
- 访问报告
- 前往 Analytics > Reports。
- 选择预构建报告,如累计流图(Cumulative Flow Diagram)、速度(Velocity)或燃尽图(Burndown)。

- 自定义报告
- 使用 Power BI 创建自定义仪表板。为此,使用 Power BI 数据连接器,前往 Power BI Online 并登录您的帐户。
- 点击左上角的 Home 图标,然后在功能区选择 Get Data。
- 在 Get Data 窗口中,您将看到数据源列表。选择 Online Services > Azure DevOps (Boards only) 作为数据连接器。

- 输入您的帐户信息,如 Organization 与 Team project 名称,以同步您的数据。

- 导出数据以进行进一步分析。
以我的经验来看,这些分析报告可提供可操作的洞见,助您做出数据驱动的决策。
Azure DevOps 的最佳实践
既然我们已经学习了 Azure DevOps 的核心服务与更多内容,下面来看如何通过以下最佳实践将其价值最大化。
版本控制最佳实践
- 采用分支策略
- 采用 Git Flow 或 GitHub Flow 进行分支管理。
- 始终保持
main分支稳定,开发使用功能分支。 - 编写清晰的提交信息
- 使用格式:
type(scope): description(例如feat(login): add user authentication)。 - 审查拉取请求
- 在合并前至少需要一位审阅者。
- 通过评论提出改进建议。
良好的版本控制实践能带来干净且可复用的代码库。
优化流水线
- 使用依赖缓存:重复下载相同依赖在使用包管理器时会浪费大量时间。Azure DevOps 支持缓存机制(如 Cache 任务),可在流水线运行间缓存依赖。
缓存任务 YAML 示例:
# Define the cache task
- task: Cache@2
inputs:
# Set the cache key using npm, the OS, and package-lock.json
key: 'npm | "$(Agent.OS)" | package-lock.json'
# Specify the path to the node_modules directory
path: 'node_modules'
- 拆分作业:将庞大的作业拆解为更小的并行任务。对于耗时的巨大工作负载,拆分为独立任务并并行执行,可整体提速。
作业 YAML 示例:
jobs:
# Define the first build job
- job: BuildJob1
displayName: 'Build Job 1'
pool:
vmImage: 'ubuntu-latest'
steps:
# Add a script step to print a message for Building Project A
- script: echo "Building Project A"
displayName: 'Build Project A'
# Define the second build job
- job: BuildJob2
displayName: 'Build Job 2'
pool:
vmImage: 'ubuntu-latest'
steps:
# Add a script step to print a message for Building Project B
- script: echo "Building Project B"
displayName: 'Build Project B'
# Define the test job
- job: TestJob
displayName: 'Run Tests'
# Specify that this job depends on the completion of BuildJob1 and BuildJob2
dependsOn:
- BuildJob1
- BuildJob2
pool:
vmImage: 'ubuntu-latest'
steps:
# Add a script step to print a message for Running Tests
- script: echo "Running Tests"
displayName: 'Run Tests'
- 使用模板:为常见任务创建可复用的流水线模板。这样就无需反复重写相同代码。我们来创建一个简单的构建任务模板:
模板 YAML 示例:
# Define parameters for the pipeline
parameters:
# Specify a parameter for the build configuration
- name: buildConfiguration
type: string
default: 'Release'
# List the steps for the pipeline
steps:
# Add a task to run the .NET Core CLI
- task: DotNetCoreCLI@2
inputs:
# Set the command to 'build'
command: 'build'
# Pass the build configuration as an argument
arguments: '--configuration $(buildConfiguration)'
我的实践表明,优化流水线能持续带来时间与资源的节省。
管理机密与安全
- 使用 Azure Key Vault:将 API 密钥等敏感信息存储在 Azure Key Vault 中。前往 Azure 门户,创建新的 Key Vault,并添加您的机密(如 API 密钥)。


- 返回 Azure DevOps,创建到您的 Azure 订阅的服务连接,使流水线能访问 Key Vault。

- 在 Azure DevOps 中前往 Pipelines > Library,创建新的变量组。

- 将变量组链接到 Key Vault 以自动获取机密。
- 在流水线中通过变量组引用机密。YAML 示例:
# azure-pipelines.yml
trigger:
- main
variables:
- group: my-variable-group # Reference the variable group that links to the Key Vault
jobs:
- job: BuildJob
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo "Using secret from Key Vault."
env:
MY_API_KEY: $(my-secret) # Reference the secret from the variable group
displayName: 'Print Secret'
从上述示例可见:引用了包含 Key Vault 机密的 my-variable-group 变量组。脚本步骤通过将变量组中的机密 $(my-secret) 作为环境变量进行使用,并输出消息。
- 限制权限
- 务必基于角色对流水线与代码库进行访问限制。
安全是现代软件开发中的基本原则,绝不容妥协,否则后果不堪设想。
结语
本教程介绍了如何设置 Azure DevOps 环境、使用 Azure Repos 进行版本控制、创建与管理 CI/CD 流水线、在 Azure Boards 中跟踪与管理工作项、将 Azure DevOps 与其他工具集成、Azure DevOps 的最佳实践等内容。
成功的秘诀在于坚持。请经常回顾流程、收集反馈并进行调整。掌握这些能力能帮助您在软件开发领域释放作为数据专业人士的全部潜能。探索 Azure DevOps,尝试这些工具,见证团队效率的提升。
若要深入学习 Microsoft Azure,请查看以下课程:
- Understanding Microsoft Azure – 夯实 Microsoft Azure 基础,释放云计算的力量。
- Microsoft Azure Fundamentals (AZ-900) – 借助对初学者友好的学习路径备考,涵盖所有关键 Azure 基础知识。
- Understanding Microsoft Azure Architecture and Services – 学习 Azure 的架构与服务如何协同驱动云端解决方案。
Emmanuel Akor 是一名云与 DevOps 工程师,擅长利用云技术和 DevOps 工具推进有影响力的项目。他毕业于巴布科克大学计算机科学专业,获一等荣誉学位,曾担任 GDSC 云方向联合负责人,将卓越的学术背景与实战经验相结合。作为技术内容作者,他善于分享知识并与团队高效协作。

您刚刚写完一段出色的代码或数据转换脚本,准备部署时却陷入混乱——手动测试、部署错误、团队成员还在使用过时的代码版本。是否似曾相识?这正是 Azure DevOps 大显身手的地方。
从头到尾,开发软件产品所需的一切,Azure DevOps 都已打包提供。
本教程将教您如何设置 Azure DevOps 环境、使用 Azure Repos 进行版本控制、创建与管理 CI/CD 流水线、在 Azure Boards 中跟踪与管理工作项、将 Azure DevOps 与其他工具集成、在 Azure DevOps 中进行监控与报告,以及 Azure DevOps 的最佳实践。
什么是 Azure DevOps?
Azure DevOps 是微软提供的基于云的一套开发工具,可简化软件开发、协作与部署流程。它提供版本控制、持续集成/持续部署(CI/CD)、工作跟踪等功能。
Azure DevOps 具备良好的可扩展性,与 Azure 及其他云平台无缝集成,并促进团队协作。无论是小型项目还是大型企业应用,Azure DevOps 都能满足需求。
Azure DevOps 界面:主控制台提供项目概览。
Azure DevOps 由一套服务组成,旨在帮助团队高效规划、开发、测试与交付软件。它不只是为开发者而设——数据从业者也可用它来管理代码、自动化工作流并高效协作。Azure DevOps 让您在其核心服务之间建立连接并开展协作。
Azure DevOps 的核心服务包括:
Service
Purpose
Azure Boards
Azure Boards 促进敏捷项目管理,包括迭代与待办列表监控,并通过可配置的平台支持敏捷方法,用于管理工作项与跟踪任务、问题与用户故事。
Azure Repos
Azure Repos 提供版本控制工具(Git/TFVC),用于管理代码、跟踪变更,并为任意规模项目创建快照,实现高效的版本控制。
Azure Pipelines
Azure Pipelines 通过 CI/CD 自动化构建、测试与部署,支持所有主流语言和项目类型,实现持续集成、测试与交付。
Azure Test Plans
Azure Test Plans 为计划性的手动测试、用户验收测试、探索性测试与干系人反馈提供强大工具,支持用例管理与执行。
Azure Artifacts
Azure Artifacts 提供从单一源管理依赖项的更简便方式。它们作为仓库,用于在团队内部或公开存储、管理与共享软件包。
如果您刚开始接触 Azure,不妨看看我们的互动课程 Understanding Microsoft Azure。您还应查看我们的Microsoft Azure Fundamentals 学习路径,帮助您准备通过 Azure 认证。
Azure DevOps 的特性
了解了 Azure DevOps 的基本情况后,我们来回顾一下它的关键特性。为什么要使用 Azure DevOps?以下是一些亮点:
以我的经验来看,Azure DevOps 是希望实施最佳 DevOps 实践的公司与个人的首选。原因在于它营造持续改进与协作的文化,并提供相应的工具支撑。
您是 DevOps 初学者吗?在 DevOps Concepts 课程 中探索驱动现代软件开发与部署的关键概念。