Azure DevOps 教學:從入門到實戰的完整指南【2025】
Azure DevOps 教學:從入門到實戰的完整指南【2025】
如果你的公司用 Microsoft 技術棧,Azure DevOps 幾乎是首選。
它把版本控制、CI/CD、專案管理、測試管理、套件管理全部整合在一起。不用東拼西湊,一個平台搞定所有事。
但功能多也代表學習曲線陡。第一次打開 Azure DevOps,很多人會被介面嚇到。
這篇教學會帶你從零開始,一步步建立你的第一個 Azure DevOps 專案和 CI/CD Pipeline。

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 的最高層級,通常對應到一家公司或一個部門。
建立步驟:
- 前往 dev.azure.com
- 使用 Microsoft 帳號登入(或建立新帳號)
- 點擊「Create new organization」
- 輸入組織名稱(例如:
your-company) - 選擇資料存放區域(建議選擇離你最近的)
- 完成建立
組織命名建議:
- 使用公司名稱或縮寫
- 全小寫,用連字號分隔
- 例如:
cloudinsight、my-company
Step 2:建立專案
什麼是專案(Project)?
專案是組織下的工作空間,通常對應到一個產品或系統。
建立步驟:
- 在組織首頁點擊「New Project」
- 輸入專案名稱
- 選擇可見性:
- Private:僅團隊成員可存取
- Public:任何人可查看(適合開源專案)
- 選擇版本控制:Git(推薦)或 TFVC
- 選擇工作項目流程:Agile、Scrum、CMMI、Basic
- 點擊「Create」
專案命名建議:
- 使用產品或系統名稱
- 例如:
web-frontend、api-service、mobile-app
Step 3:設定 Repository
初始化 Repository:
- 進入專案後,點擊左側「Repos」
- 選擇「Initialize」初始化空的 Repository
- 可選擇加入 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 認證:
- 前往「User Settings」→「Personal Access Tokens」
- 建立新的 PAT(Personal Access Token)
- 設定適當的權限範圍
- 使用 PAT 作為密碼進行 Git 操作
Step 4:邀請團隊成員
新增成員:
- 前往「Project Settings」→「Teams」
- 選擇預設團隊或建立新團隊
- 點擊「Add」新增成員
- 輸入成員的 Email 或 Microsoft 帳號
- 設定存取層級(Basic 或 Stakeholder)
權限設定建議:
- 開發者:Basic 存取層級
- 產品經理/客戶:Stakeholder 存取層級
- 管理員:Project Administrator 角色

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
- 進入專案,點擊「Pipelines」→「Create Pipeline」
- 選擇程式碼來源:Azure Repos Git
- 選擇 Repository
- 選擇「Existing Azure Pipelines YAML file」
- 選擇
/azure-pipelines.yml - 點擊「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...'
環境審核設定
設定審核閘門:
- 前往「Pipelines」→「Environments」
- 選擇環境(如 production)
- 點擊「Approvals and checks」
- 新增「Approvals」
- 指定審核者
這樣部署到該環境前,必須經過指定人員審核。
變數與秘密管理
Pipeline 變數:
variables:
- name: environment
value: 'production'
- name: region
value: 'eastasia'
變數群組(Variable Groups):
- 前往「Pipelines」→「Library」
- 建立 Variable Group
- 新增變數(可標記為 Secret)
- 在 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'

Azure DevOps vs GitHub Actions
這兩個都是微軟旗下的 CI/CD 工具,該怎麼選?
功能比較
| 功能 | Azure DevOps | GitHub Actions |
|---|---|---|
| 版本控制 | Azure Repos | GitHub |
| CI/CD | Azure Pipelines | GitHub Actions |
| 專案管理 | Azure Boards | GitHub Issues/Projects |
| 套件管理 | Azure Artifacts | GitHub 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。

結論
Azure DevOps 是一個功能完整的 DevOps 平台。
它的優點:
- 五大服務整合度高
- 與 Azure 雲端無縫搭配
- 企業級功能完善
- 小團隊免費使用
它的缺點:
- 學習曲線較陡
- 介面複雜度高
- 某些設定不夠直覺
如果你的團隊使用 Microsoft 技術棧,或是需要一站式的 DevOps 解決方案,Azure DevOps 是很好的選擇。
建議的學習順序:
- 先熟悉 Azure Repos(版本控制)
- 學習 Azure Pipelines(CI/CD)
- 視需求學習 Boards、Artifacts、Test Plans
需要專業協助?
根據 Microsoft 統計,導入 Azure DevOps 的團隊平均可以將部署頻率提升 3 倍以上。
CloudInsight 如何幫助你?
- Azure DevOps 導入規劃:從零開始設計導入策略
- Pipeline 架構設計:設計適合團隊的 CI/CD 流程
- Azure 整合諮詢:與 Azure 雲端服務的最佳整合方式
- 團隊培訓:Azure DevOps 實戰培訓課程
立即預約免費諮詢
想在團隊中導入 Azure DevOps,但不確定如何開始?
延伸閱讀:
- DevOps 是什麼?2025 完整指南
- DevOps 學習路線圖 2025:從零開始的完整 Roadmap
- CI/CD 是什麼?持續整合與持續部署入門教學
- DevOps 工具有哪些?2025 熱門工具分類介紹
- DevOps 監控指南:Observability 與監控工具實作
參考資料
- Microsoft,《Azure DevOps 官方文件》
- Microsoft Learn,《AZ-400: Designing and Implementing Microsoft DevOps Solutions》
- Azure DevOps Labs,官方實作練習
- Microsoft,《Azure Pipelines YAML Schema》
- Microsoft,《Azure DevOps 定價說明》
相關文章
Azure DevOps 教學:從零開始建立 CI/CD Pipeline 完整指南
Azure DevOps 怎麼用?本教學從零開始,完整解析 Azure DevOps 五大服務:Azure Repos、Boards、Pipelines、Test Plans、Artifacts。附 CI/CD Pipeline 設定步驟、YAML 範例,幫你建立自動化開發流程。
DevOpsDevOps 是什麼?2025 完整指南:概念、工具、流程與職涯發展
DevOps 是什麼?完整解析 DevOps 的定義、核心理念與實作方法。涵蓋 CI/CD 流程、熱門工具(Azure DevOps、GitLab、Kubernetes)、工程師職涯發展與學習路線圖,幫助你快速掌握 DevOps 並在團隊中成功導入。
DevOpsDevOps 工具有哪些?2025 熱門工具分類介紹與選擇建議
2025 年 DevOps 工具完整指南!從版本控制、CI/CD、容器化到監控,系統性介紹各類工具的優缺點與適用場景。幫助你建立最適合團隊的 DevOps 工具鏈。