返回首頁DevOps

Azure DevOps 教學:從入門到實戰的完整指南【2025】

19 min 分鐘閱讀
#Azure DevOps#Azure Pipelines#Azure Repos#Azure Boards#CI/CD#Microsoft#DevOps 工具#YAML Pipeline#Git#專案管理

Azure DevOps 教學:從入門到實戰的完整指南【2025】

如果你的公司用 Microsoft 技術棧,Azure DevOps 幾乎是首選。

它把版本控制、CI/CD、專案管理、測試管理、套件管理全部整合在一起。不用東拼西湊,一個平台搞定所有事。

但功能多也代表學習曲線陡。第一次打開 Azure DevOps,很多人會被介面嚇到。

這篇教學會帶你從零開始,一步步建立你的第一個 Azure DevOps 專案和 CI/CD Pipeline。

插圖 1:Azure DevOps 服務總覽

Azure DevOps 是什麼?

Azure DevOps 是微軟推出的一站式 DevOps 平台

它的前身是 Visual Studio Team Services(VSTS),2018 年改名為 Azure DevOps,並且大幅強化了功能。

核心定位:

  • 提供完整的軟體開發生命週期管理
  • 支援任何語言、任何平台(不只限於 .NET)
  • 可與 Azure 雲端服務無縫整合
  • 同時提供雲端版和地端版(Server)

想了解 DevOps 的完整概念,可以先閱讀 DevOps 是什麼?2025 完整指南

Azure DevOps 的優勢

為什麼選擇 Azure DevOps?

優勢說明
整合度高五大服務緊密整合,不用串接多個工具
微軟生態系與 Visual Studio、VS Code、Azure 完美搭配
企業級功能權限管理、稽核日誌、合規性支援
彈性授權小團隊免費,按需付費
支援多平台不只 Windows,也支援 Linux、macOS

適合的使用情境:

  • 已經使用 Microsoft 技術棧的團隊
  • 需要整合專案管理與開發流程
  • 部署到 Azure 雲端的專案
  • 需要企業級安全與合規的組織

Azure DevOps 五大服務介紹

Azure DevOps 包含五個核心服務,每個都可以獨立使用,也可以搭配使用。

Azure Boards(專案管理)

用途: 工作項目追蹤、敏捷專案管理

主要功能:

  • Work Items:追蹤任務、Bug、User Story
  • Boards:看板式視覺化管理(Kanban)
  • Backlogs:產品待辦清單管理
  • Sprints:Sprint 規劃與燃盡圖
  • Queries:自訂查詢與報表

支援的流程範本:

  • Agile
  • Scrum
  • CMMI
  • Basic

適合誰: 產品經理、Scrum Master、開發團隊

Azure Repos(版本控制)

用途: 程式碼版本控制與協作

主要功能:

  • Git Repositories:無限制的私有 Git 儲存庫
  • Pull Requests:程式碼審查流程
  • Branch Policies:分支保護規則
  • Code Search:跨儲存庫程式碼搜尋

特色:

  • 支援 Git 和 TFVC(Team Foundation Version Control)
  • 與 Visual Studio 深度整合
  • 內建程式碼審查工具

適合誰: 開發者、Tech Lead

Azure Pipelines(CI/CD)

用途: 持續整合與持續部署

主要功能:

  • Build Pipelines:自動建置程式碼
  • Release Pipelines:自動部署到各環境
  • YAML Pipelines:Pipeline as Code
  • Environments:環境管理與審核
  • Deployment Gates:部署閘門控制

支援的平台:

  • Windows、Linux、macOS
  • 任何語言(.NET、Java、Node.js、Python...)
  • 容器、Kubernetes、無伺服器

適合誰: DevOps 工程師、開發者

Azure Test Plans(測試管理)

用途: 測試案例管理與執行

主要功能:

  • Test Plans:測試計畫管理
  • Test Suites:測試套件組織
  • Manual Testing:手動測試執行
  • Exploratory Testing:探索性測試
  • Test Analytics:測試結果分析

適合誰: QA 工程師、測試團隊

Azure Artifacts(套件管理)

用途: 套件儲存與管理

主要功能:

  • Package Feeds:私有套件儲存庫
  • 支援多種格式:NuGet、npm、Maven、Python、Universal

適合誰: 開發者、架構師


Azure DevOps 定價方案

免費方案

Azure DevOps 對小團隊非常友善:

項目免費額度
使用者數量前 5 位免費(Basic)
Stakeholder無限制免費
私有專案無限制
Git Repos無限制
CI/CD 分鐘數1,800 分鐘/月(Microsoft-hosted)
Artifacts 儲存2 GB

Stakeholder vs Basic:

  • Stakeholder:可查看工作項目、儀表板,但不能使用 Repos、Pipelines
  • Basic:完整功能存取

付費方案

超過免費額度後的計費:

項目價格(USD)
額外 Basic 使用者$6/人/月
Basic + Test Plans$52/人/月
額外 CI/CD 平行作業$40/作業/月
額外 Artifacts 儲存$2/GB/月

方案選擇建議

團隊規模建議方案
1-5 人免費方案足夠
6-20 人Basic 方案
20+ 人Basic + 考慮 Test Plans
企業級Azure DevOps Server(地端版)

不確定該選哪個方案?

Azure DevOps 的計費模式有點複雜,尤其是 CI/CD 平行作業的計算方式。選錯方案可能多花冤枉錢。

預約架構諮詢,讓我們幫你評估需求與成本。


Azure DevOps 入門設定

Step 1:建立組織

什麼是組織(Organization)?

組織是 Azure DevOps 的最高層級,通常對應到一家公司或一個部門。

建立步驟:

  1. 前往 dev.azure.com
  2. 使用 Microsoft 帳號登入(或建立新帳號)
  3. 點擊「Create new organization」
  4. 輸入組織名稱(例如:your-company
  5. 選擇資料存放區域(建議選擇離你最近的)
  6. 完成建立

組織命名建議:

  • 使用公司名稱或縮寫
  • 全小寫,用連字號分隔
  • 例如:cloudinsightmy-company

Step 2:建立專案

什麼是專案(Project)?

專案是組織下的工作空間,通常對應到一個產品或系統。

建立步驟:

  1. 在組織首頁點擊「New Project」
  2. 輸入專案名稱
  3. 選擇可見性:
    • Private:僅團隊成員可存取
    • Public:任何人可查看(適合開源專案)
  4. 選擇版本控制:Git(推薦)或 TFVC
  5. 選擇工作項目流程:Agile、Scrum、CMMI、Basic
  6. 點擊「Create」

專案命名建議:

  • 使用產品或系統名稱
  • 例如:web-frontendapi-servicemobile-app

Step 3:設定 Repository

初始化 Repository:

  1. 進入專案後,點擊左側「Repos」
  2. 選擇「Initialize」初始化空的 Repository
  3. 可選擇加入 README 和 .gitignore

Clone 到本地:

# HTTPS 方式
git clone https://dev.azure.com/your-org/your-project/_git/your-repo

# SSH 方式(需先設定 SSH Key)
git clone [email protected]:v3/your-org/your-project/your-repo

設定 Git 認證:

  1. 前往「User Settings」→「Personal Access Tokens」
  2. 建立新的 PAT(Personal Access Token)
  3. 設定適當的權限範圍
  4. 使用 PAT 作為密碼進行 Git 操作

Step 4:邀請團隊成員

新增成員:

  1. 前往「Project Settings」→「Teams」
  2. 選擇預設團隊或建立新團隊
  3. 點擊「Add」新增成員
  4. 輸入成員的 Email 或 Microsoft 帳號
  5. 設定存取層級(Basic 或 Stakeholder)

權限設定建議:

  • 開發者:Basic 存取層級
  • 產品經理/客戶:Stakeholder 存取層級
  • 管理員:Project Administrator 角色

插圖 2:Azure DevOps 專案設定流程

Azure Pipelines 建置教學

Pipeline 類型選擇

Azure Pipelines 支援兩種定義方式:

類型說明適合場景
YAML Pipeline用程式碼定義 Pipeline新專案、需要版本控制
Classic Pipeline用 GUI 設定 Pipeline快速測試、不熟悉 YAML

2025 年建議: 優先使用 YAML Pipeline。

為什麼?

  • Pipeline 設定可以版本控制
  • 可以 Code Review
  • 可以在不同專案間重用
  • 更容易維護和除錯

建立第一個 YAML Pipeline

Step 1:建立 Pipeline 檔案

在 Repository 根目錄建立 azure-pipelines.yml

# azure-pipelines.yml
trigger:
  - main

pool:
  vmImage: 'ubuntu-latest'

stages:
  - stage: Build
    displayName: 'Build Stage'
    jobs:
      - job: BuildJob
        displayName: 'Build'
        steps:
          - script: echo 'Hello, Azure Pipelines!'
            displayName: 'Run a one-line script'

          - script: |
              echo 'Building the project...'
              echo 'Build completed!'
            displayName: 'Run a multi-line script'

Step 2:在 Azure DevOps 建立 Pipeline

  1. 進入專案,點擊「Pipelines」→「Create Pipeline」
  2. 選擇程式碼來源:Azure Repos Git
  3. 選擇 Repository
  4. 選擇「Existing Azure Pipelines YAML file」
  5. 選擇 /azure-pipelines.yml
  6. 點擊「Run」執行

YAML Pipeline 基本結構

# 觸發條件
trigger:
  branches:
    include:
      - main
      - develop
  paths:
    exclude:
      - docs/*

# 排程執行(可選)
schedules:
  - cron: '0 0 * * *'
    displayName: 'Daily midnight build'
    branches:
      include:
        - main

# 執行環境
pool:
  vmImage: 'ubuntu-latest'

# 變數
variables:
  buildConfiguration: 'Release'
  nodeVersion: '18.x'

# 階段
stages:
  - stage: Build
    jobs:
      - job: BuildJob
        steps:
          - task: NodeTool@0
            inputs:
              versionSpec: '$(nodeVersion)'
          - script: npm install
          - script: npm run build

  - stage: Test
    dependsOn: Build
    jobs:
      - job: TestJob
        steps:
          - script: npm test

  - stage: Deploy
    dependsOn: Test
    condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
    jobs:
      - deployment: DeployJob
        environment: 'production'
        strategy:
          runOnce:
            deploy:
              steps:
                - script: echo 'Deploying to production...'

常用 Tasks

Node.js 專案:

steps:
  - task: NodeTool@0
    inputs:
      versionSpec: '18.x'
    displayName: 'Install Node.js'

  - script: npm ci
    displayName: 'Install dependencies'

  - script: npm run build
    displayName: 'Build'

  - script: npm test
    displayName: 'Run tests'

Docker 建置:

steps:
  - task: Docker@2
    inputs:
      containerRegistry: 'your-registry'
      repository: 'your-repo'
      command: 'buildAndPush'
      Dockerfile: '**/Dockerfile'
      tags: |
        $(Build.BuildId)
        latest

.NET 專案:

steps:
  - task: DotNetCoreCLI@2
    inputs:
      command: 'restore'
      projects: '**/*.csproj'

  - task: DotNetCoreCLI@2
    inputs:
      command: 'build'
      projects: '**/*.csproj'
      arguments: '--configuration $(buildConfiguration)'

  - task: DotNetCoreCLI@2
    inputs:
      command: 'test'
      projects: '**/*Tests.csproj'

想深入了解 CI/CD 概念,請參考 CI/CD 入門教學


Azure Pipelines 進階設定

多環境部署

stages:
  - stage: DeployDev
    displayName: 'Deploy to Dev'
    jobs:
      - deployment: DeployDev
        environment: 'dev'
        strategy:
          runOnce:
            deploy:
              steps:
                - script: echo 'Deploying to Dev...'

  - stage: DeployStaging
    displayName: 'Deploy to Staging'
    dependsOn: DeployDev
    jobs:
      - deployment: DeployStaging
        environment: 'staging'
        strategy:
          runOnce:
            deploy:
              steps:
                - script: echo 'Deploying to Staging...'

  - stage: DeployProd
    displayName: 'Deploy to Production'
    dependsOn: DeployStaging
    jobs:
      - deployment: DeployProd
        environment: 'production'
        strategy:
          runOnce:
            deploy:
              steps:
                - script: echo 'Deploying to Production...'

環境審核設定

設定審核閘門:

  1. 前往「Pipelines」→「Environments」
  2. 選擇環境(如 production)
  3. 點擊「Approvals and checks」
  4. 新增「Approvals」
  5. 指定審核者

這樣部署到該環境前,必須經過指定人員審核。

變數與秘密管理

Pipeline 變數:

variables:
  - name: environment
    value: 'production'
  - name: region
    value: 'eastasia'

變數群組(Variable Groups):

  1. 前往「Pipelines」→「Library」
  2. 建立 Variable Group
  3. 新增變數(可標記為 Secret)
  4. 在 Pipeline 中引用:
variables:
  - group: 'my-variable-group'

Azure Key Vault 整合:

variables:
  - group: 'my-keyvault-group'

steps:
  - task: AzureKeyVault@2
    inputs:
      azureSubscription: 'your-subscription'
      KeyVaultName: 'your-keyvault'
      SecretsFilter: '*'

平行作業與矩陣建置

矩陣建置(多版本測試):

strategy:
  matrix:
    Node16:
      nodeVersion: '16.x'
    Node18:
      nodeVersion: '18.x'
    Node20:
      nodeVersion: '20.x'

steps:
  - task: NodeTool@0
    inputs:
      versionSpec: '$(nodeVersion)'
  - script: npm test

Pipeline 設定太複雜?

Azure Pipelines 功能強大,但設定選項也多。尤其是多環境部署、權限控制、與 Azure 服務整合,第一次設定很容易踩坑。

預約架構諮詢,讓有經驗的工程師幫你設計最佳 CI/CD 流程。


與 Azure 服務整合

部署到 Azure App Service

- task: AzureWebApp@1
  inputs:
    azureSubscription: 'your-subscription'
    appType: 'webAppLinux'
    appName: 'your-app-name'
    package: '$(Pipeline.Workspace)/drop/*.zip'

部署到 Azure Kubernetes Service (AKS)

- task: KubernetesManifest@0
  inputs:
    action: 'deploy'
    kubernetesServiceConnection: 'your-aks-connection'
    namespace: 'default'
    manifests: |
      manifests/deployment.yaml
      manifests/service.yaml
    containers: |
      your-registry.azurecr.io/your-image:$(Build.BuildId)

部署到 Azure Functions

- task: AzureFunctionApp@1
  inputs:
    azureSubscription: 'your-subscription'
    appType: 'functionAppLinux'
    appName: 'your-function-app'
    package: '$(Pipeline.Workspace)/drop/*.zip'

插圖 3:Azure DevOps 與 Azure 服務整合

Azure DevOps vs GitHub Actions

這兩個都是微軟旗下的 CI/CD 工具,該怎麼選?

功能比較

功能Azure DevOpsGitHub Actions
版本控制Azure ReposGitHub
CI/CDAzure PipelinesGitHub Actions
專案管理Azure BoardsGitHub Issues/Projects
套件管理Azure ArtifactsGitHub Packages
測試管理Azure Test Plans第三方整合
免費 CI/CD 分鐘1,800/月2,000/月(公開)、500/月(私有)
Self-hosted Runner支援支援

選擇建議

選擇 Azure DevOps 如果:

  • 使用微軟技術棧(.NET、Azure)
  • 需要完整的專案管理功能
  • 需要 Test Plans 做測試管理
  • 企業級安全與合規需求
  • 團隊已經熟悉 Azure DevOps

選擇 GitHub Actions 如果:

  • 程式碼已經在 GitHub
  • 開源專案
  • 想要更簡單的設定
  • 社群 Actions 生態豐富
  • 小型團隊或個人專案

兩者整合使用:

你也可以兩者並用:

  • 程式碼放 GitHub
  • 使用 Azure Pipelines 做 CI/CD
  • 使用 Azure Boards 做專案管理
# Azure Pipeline 可以連接 GitHub Repository
resources:
  repositories:
    - repository: MyGitHubRepo
      type: github
      endpoint: MyGitHubConnection
      name: your-org/your-repo

更多工具比較,請參考 DevOps 工具完整指南


Azure DevOps Server vs Cloud

差異比較

項目Azure DevOps Services(雲端)Azure DevOps Server(地端)
部署方式Microsoft 託管自行安裝維護
更新頻率每 3 週自動更新手動升級
擴展性自動擴展需自行規劃
資料存放Microsoft 資料中心自有機房
成本按使用付費授權費 + 硬體成本
合規性ISO、SOC、GDPR 等可完全控制

選擇建議

選擇雲端版(Services)如果:

  • 不想維護基礎設施
  • 需要最新功能
  • 團隊分散各地
  • 預算有限

選擇地端版(Server)如果:

  • 資料必須留在企業內部
  • 有特殊合規要求
  • 網路環境受限
  • 已有資料中心投資

常見問題 FAQ

Azure DevOps 免費額度夠用嗎?

對於 5 人以下的小團隊,通常夠用。

主要限制是:

  • CI/CD 分鐘數:1,800 分鐘/月
  • 平行作業數:1 個

如果 Pipeline 執行頻繁或時間長,可能需要購買額外分鐘數或自架 Agent。

可以只用 Azure Pipelines 嗎?

可以。

Azure DevOps 的五大服務可以獨立使用。你可以:

  • 程式碼放 GitHub
  • 只使用 Azure Pipelines 做 CI/CD
  • 專案管理用 Jira

Azure DevOps 支援哪些語言?

幾乎所有語言都支援:

  • .NET / C#
  • Java
  • Node.js / JavaScript
  • Python
  • Go
  • PHP
  • Ruby
  • 其他...

如何從其他平台遷移?

Azure DevOps 提供遷移工具:

  • 從 Jenkins:可匯出 Pipeline 設定參考
  • 從 GitLab:可匯入 Repository
  • 從 Jira:可匯入工作項目

如何學習 Azure DevOps?

推薦學習資源:

  • Microsoft Learn 官方課程(免費)
  • Azure DevOps Labs(實作練習)
  • AZ-400 認證課程

完整學習規劃請參考 DevOps 學習路線圖 2025

插圖 4:Azure DevOps Pipeline 執行畫面

結論

Azure DevOps 是一個功能完整的 DevOps 平台。

它的優點:

  • 五大服務整合度高
  • 與 Azure 雲端無縫搭配
  • 企業級功能完善
  • 小團隊免費使用

它的缺點:

  • 學習曲線較陡
  • 介面複雜度高
  • 某些設定不夠直覺

如果你的團隊使用 Microsoft 技術棧,或是需要一站式的 DevOps 解決方案,Azure DevOps 是很好的選擇。

建議的學習順序:

  1. 先熟悉 Azure Repos(版本控制)
  2. 學習 Azure Pipelines(CI/CD)
  3. 視需求學習 Boards、Artifacts、Test Plans

需要專業協助?

根據 Microsoft 統計,導入 Azure DevOps 的團隊平均可以將部署頻率提升 3 倍以上。

CloudInsight 如何幫助你?

  • Azure DevOps 導入規劃:從零開始設計導入策略
  • Pipeline 架構設計:設計適合團隊的 CI/CD 流程
  • Azure 整合諮詢:與 Azure 雲端服務的最佳整合方式
  • 團隊培訓:Azure DevOps 實戰培訓課程

立即預約免費諮詢

想在團隊中導入 Azure DevOps,但不確定如何開始?

👉 預約架構諮詢,我們提供完整的導入規劃與培訓服務


延伸閱讀:


參考資料

  1. Microsoft,《Azure DevOps 官方文件》
  2. Microsoft Learn,《AZ-400: Designing and Implementing Microsoft DevOps Solutions》
  3. Azure DevOps Labs,官方實作練習
  4. Microsoft,《Azure Pipelines YAML Schema》
  5. Microsoft,《Azure DevOps 定價說明》

需要專業的雲端建議?

無論您正在評估雲平台、優化現有架構,或尋找節費方案,我們都能提供協助

預約免費諮詢

相關文章