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