Azure DevOps 概览 #
什么是 Azure DevOps? #
Azure DevOps 是微软提供的云端 DevOps 平台,支持完整的开发运维生命周期。
text
┌─────────────────────────────────────────────────────────────┐
│ Azure DevOps 概览 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 核心服务 │
│ ├── Azure Boards: 工作项管理、看板、冲刺 │
│ ├── Azure Repos: Git 仓库、代码评审 │
│ ├── Azure Pipelines: CI/CD 流水线 │
│ ├── Azure Test Plans: 测试管理 │
│ └── Azure Artifacts: 包管理 │
│ │
│ 特点 │
│ ├── 云端托管:无需管理基础设施 │
│ ├── 可扩展:丰富的扩展市场 │
│ ├── 集成:与主流工具集成 │
│ └── 免费:5 个用户免费 │
│ │
│ 适用场景 │
│ ├── 敏捷开发 │
│ ├── CI/CD 自动化 │
│ ├── 代码管理 │
│ └── 团队协作 │
│ │
└─────────────────────────────────────────────────────────────┘
创建组织 #
注册 Azure DevOps #
text
┌─────────────────────────────────────────────────────────────┐
│ 创建组织步骤 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 步骤 1: 访问 Azure DevOps │
│ └── https://dev.azure.com │
│ │
│ 步骤 2: 使用 Microsoft 账户登录 │
│ └── 或使用 GitHub 账户 │
│ │
│ 步骤 3: 创建组织 │
│ ├── 组织名称(全局唯一) │
│ ├── 区域选择 │
│ └── 确认创建 │
│ │
│ 步骤 4: 创建项目 │
│ ├── 项目名称 │
│ ├── 可见性:公开/私有 │
│ ├── 版本控制:Git │
│ └── 工作项流程 │
│ │
└─────────────────────────────────────────────────────────────┘
项目管理 #
项目设置 #
text
┌─────────────────────────────────────────────────────────────┐
│ 项目配置 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 可见性 │
│ ├── 私有: 仅团队成员可见 │
│ └── 公开: 任何人可见 │
│ │
│ 版本控制 │
│ └── Git: 推荐 │
│ │
│ 工作项流程 │
│ ├── Basic: 简单流程 │
│ ├── Agile: 敏捷流程 │
│ ├── Scrum: Scrum 流程 │
│ └── CMMI: CMMI 流程 │
│ │
└─────────────────────────────────────────────────────────────┘
Azure Boards #
工作项类型 #
text
┌─────────────────────────────────────────────────────────────┐
│ 工作项类型 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Basic 流程 │
│ ├── Epic: 大型功能 │
│ ├── Issue: 工作项 │
│ └── Task: 具体任务 │
│ │
│ Agile 流程 │
│ ├── Epic │
│ ├── Feature │
│ ├── User Story │
│ ├── Task │
│ └── Bug │
│ │
│ Scrum 流程 │
│ ├── Epic │
│ ├── Feature │
│ ├── Product Backlog Item │
│ ├── Task │
│ └── Bug │
│ │
└─────────────────────────────────────────────────────────────┘
看板使用 #
text
┌─────────────────────────────────────────────────────────────┐
│ 看板列 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 新建 │ │ 进行中 │ │ 已完成 │ │ 关闭 │ │
│ │ │ │ │ │ │ │ │ │
│ │ [卡片] │ │ [卡片] │ │ [卡片] │ │ │ │
│ │ [卡片] │ │ [卡片] │ │ │ │ │ │
│ │ [卡片] │ │ │ │ │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ 操作: │
│ ├── 拖拽卡片移动状态 │
│ ├── 点击卡片查看详情 │
│ └── WIP 限制:控制每列数量 │
│ │
└─────────────────────────────────────────────────────────────┘
Azure Repos #
Git 仓库管理 #
bash
# 克隆仓库
git clone https://dev.azure.com/myorg/myproject/_git/myrepo
# 创建分支
git checkout -b feature/my-feature
# 提交更改
git add .
git commit -m "Add new feature"
# 推送分支
git push origin feature/my-feature
# 创建拉取请求
# 在 Azure DevOps 门户中操作
分支策略 #
text
┌─────────────────────────────────────────────────────────────┐
│ 分支策略 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Git Flow │
│ ├── main: 生产代码 │
│ ├── develop: 开发代码 │
│ ├── feature/*: 功能分支 │
│ ├── release/*: 发布分支 │
│ └── hotfix/*: 热修复分支 │
│ │
│ GitHub Flow │
│ ├── main: 主分支 │
│ └── feature/*: 功能分支 │
│ │
│ 推荐策略 │
│ ├── 使用分支策略保护主分支 │
│ ├── 要求拉取请求评审 │
│ └── 自动化构建验证 │
│ │
└─────────────────────────────────────────────────────────────┘
Azure Pipelines #
流水线概念 #
text
┌─────────────────────────────────────────────────────────────┐
│ 流水线结构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 触发器 │
│ ├── CI: 代码推送触发 │
│ ├── PR: 拉取请求触发 │
│ └── 定时: 计划触发 │
│ │
│ 阶段 │
│ ├── Build: 构建 │
│ ├── Test: 测试 │
│ └── Deploy: 部署 │
│ │
│ 作业 │
│ ├── 在代理上执行的任务集合 │
│ └── 可并行或串行 │
│ │
│ 步骤 │
│ └── 具体的执行任务 │
│ │
└─────────────────────────────────────────────────────────────┘
基本流水线示例 #
yaml
# azure-pipelines.yml
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
stages:
- stage: Build
jobs:
- job: BuildJob
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
- script: |
npm install
npm run build
displayName: 'Build application'
- stage: Deploy
jobs:
- job: DeployJob
steps:
- task: AzureWebApp@1
inputs:
azureSubscription: 'mySubscription'
appName: 'myWebApp'
package: '$(Build.ArtifactStagingDirectory)'
Azure Artifacts #
包管理 #
text
┌─────────────────────────────────────────────────────────────┐
│ 包类型 │
├─────────────────────────────────────────────────────────────┤
│ │
│ NuGet │
│ └── .NET 包管理 │
│ │
│ npm │
│ └── Node.js 包管理 │
│ │
│ Maven │
│ └── Java 包管理 │
│ │
│ Python │
│ └── Python 包管理 │
│ │
│ Universal Packages │
│ └── 通用包 │
│ │
└─────────────────────────────────────────────────────────────┘
最佳实践 #
DevOps 建议 #
text
┌─────────────────────────────────────────────────────────────┐
│ DevOps 最佳实践 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 使用分支策略 │
│ └── 保护主分支 │
│ │
│ 2. 自动化 CI/CD │
│ └── 每次提交自动构建测试 │
│ │
│ 3. 代码评审 │
│ └── 拉取请求必须评审 │
│ │
│ 4. 自动化测试 │
│ └── 集成测试到流水线 │
│ │
│ 5. 环境管理 │
│ └── 使用多环境部署 │
│ │
│ 6. 监控和反馈 │
│ └── 持续监控应用状态 │
│ │
└─────────────────────────────────────────────────────────────┘
下一步 #
现在你已经了解了 Azure DevOps 的概览,接下来学习 Azure Pipelines 掌握 CI/CD 流水线配置!
最后更新:2026-03-29