Chuyển đến nội dung chính

Azure DevOps Tutorial: Build, Test, and Deploy Applications

This tutorial walks you through Azure DevOps, making CI/CD easier than ever.
Đã cập nhật 5 thg 6, 2026  · 15 phút đọc

Bạn vừa hoàn thành một đoạn mã xuất sắc hoặc một script chuyển đổi dữ liệu. Bạn đã sẵn sàng triển khai, nhưng rồi hỗn loạn ập đến—kiểm thử thủ công, lỗi triển khai, và các thành viên trong nhóm làm việc trên những phiên bản mã đã lỗi thời. Nghe quen chứ? Đây chính là lúc Azure DevOps phát huy tác dụng.

Mọi thứ bạn cần để phát triển sản phẩm phần mềm từ đầu đến cuối đều có trong Azure DevOps.

Hướng dẫn này dạy bạn cách thiết lập môi trường Azure DevOps, dùng Azure Repos để quản lý phiên bản, tạo và quản lý pipeline CI/CD, theo dõi và quản lý hạng mục công việc với Azure Boards, tích hợp Azure DevOps với các công cụ khác, giám sát và lập báo cáo trong Azure DevOps, cùng các thực tiễn tốt nhất cho Azure DevOps.

Azure DevOps là gì?

Azure DevOps là bộ công cụ phát triển dựa trên đám mây do Microsoft cung cấp, giúp tinh gọn quy trình phát triển phần mềm, cộng tác và triển khai. Nó cung cấp quản lý phiên bản, tích hợp/triển khai liên tục (CI/CD), theo dõi công việc và nhiều hơn nữa.

Azure DevOps có khả năng mở rộng, tích hợp liền mạch với Azure và các nền tảng đám mây khác, đồng thời thúc đẩy sự cộng tác trong nhóm. Dù bạn làm việc trên một dự án nhỏ hay một ứng dụng doanh nghiệp lớn, Azure DevOps đều đáp ứng được.

Đây là giao diện Azure DevOps hiển thị bảng điều khiển chính của phần tổng quan dự án. Màn hình hiển thị các tab và tùy chọn như Boards, Repos, Pipelines và Artifacts. Bạn có thể thấy tóm tắt hoạt động của dự án, gồm các commit gần đây, hạng mục công việc và các lần chạy pipeline. Bố cục trực quan giúp bạn điều hướng và quản lý hiệu quả các khía cạnh khác nhau của dự án.

Giao diện Azure DevOps: Bảng điều khiển chính cung cấp tổng quan về dự án.

Azure DevOps bao gồm một bộ dịch vụ được thiết kế để giúp các nhóm lập kế hoạch, phát triển, kiểm thử và bàn giao phần mềm hiệu quả. Nó không chỉ dành cho nhà phát triển—các chuyên gia dữ liệu cũng có thể dùng để quản lý mã, tự động hóa quy trình và cộng tác hiệu quả. Azure DevOps cho phép bạn kết nối và cộng tác xuyên suốt các dịch vụ cốt lõi của nó. 

Các dịch vụ cốt lõi của Azure DevOps gồm: 

Dịch vụ

Mục đích

Azure Boards

Azure Boards hỗ trợ quản lý dự án agile, bao gồm sprint và theo dõi backlog, đồng thời hỗ trợ các phương pháp agile bằng cách cung cấp nền tảng có thể cấu hình để quản lý work item và theo dõi tác vụ, vấn đề và user story.

Azure Repos

Azure Repos cung cấp công cụ quản lý phiên bản (Git/TFVC) để quản lý mã, theo dõi thay đổi và chụp snapshot cho mọi quy mô dự án, mang lại quản lý phiên bản hiệu quả.

Azure Pipelines

Azure Pipelines tự động hóa build, kiểm thử và triển khai với CI/CD, hỗ trợ mọi ngôn ngữ chính và loại dự án cho tích hợp, kiểm thử và bàn giao liên tục.

Azure Test Plans

Azure Test Plans cung cấp công cụ mạnh mẽ cho kiểm thử thủ công có kế hoạch, kiểm thử chấp nhận người dùng, kiểm thử khám phá và phản hồi từ các bên liên quan, hỗ trợ quản lý và thực thi test case.

Azure Artifacts

Azure Artifacts cung cấp cách đơn giản hơn để quản lý phụ thuộc từ một nguồn cấp duy nhất. Chúng hoạt động như kho lưu trữ để lưu, quản lý và chia sẻ gói trong nội bộ nhóm hoặc công khai.

Hãy xem khóa học tương tác Understanding Microsoft Azure nếu bạn vừa bắt đầu hành trình với Azure. Bạn cũng nên xem lộ trình Microsoft Azure Fundamentals, lộ trình này sẽ giúp bạn chuẩn bị để được chứng nhận Azure.

Tính năng của Azure DevOps

Giờ bạn đã biết đôi chút về Azure DevOps, hãy cùng điểm lại các tính năng chính. Tại sao bạn nên dùng Azure DevOps? Dưới đây là một số điểm nổi bật:

  • Cộng tác: Azure DevOps gắn kết nhóm của bạn với các kho dùng chung, bảng công việc và pipeline, giúp mọi người phối hợp trơn tru trên nhiều dự án.
  • Quản lý phiên bản: Azure DevOps hỗ trợ Git, vì vậy bạn và nhóm có thể theo dõi mọi thay đổi. Nhờ đó, nhóm có thể quản lý pull/merge request, theo dõi thay đổi và nhiều hơn nữa.
  • Quy trình tự động: Dùng Azure DevOps để tự động hóa build, test và triển khai nhằm đảm bảo triển khai nhanh hơn, đáng tin cậy hơn, tiết kiệm thời gian và giảm thiểu lỗi.
  • Khả năng mở rộng: Azure DevOps có khả năng mở rộng để đáp ứng nhu cầu và quy mô của nhóm bạn. Nó linh hoạt thích ứng khi số người dùng và dự án tăng lên, dù nhóm lớn hay nhỏ.
  • Tích hợp: Azure DevOps tích hợp liền mạch với Azure, GitHub và các nền tảng/công cụ đám mây khác để đảm bảo quy trình mượt mà, đồng thời duy trì kho an toàn và kiểm soát truy cập theo vai trò.

Theo kinh nghiệm của tôi, Azure DevOps là giải pháp hàng đầu cho doanh nghiệp và cá nhân muốn áp dụng các thực tiễn DevOps tốt nhất. Vì sao? Nó xây dựng văn hóa cải tiến liên tục và cộng tác, đồng thời cung cấp bộ công cụ cần thiết.

Bạn mới bắt đầu với DevOps? Khám phá các khái niệm chủ chốt thúc đẩy phát triển và triển khai hiện đại trong khóa học DevOps Concepts

Thiết Lập Môi Trường Azure DevOps

Để truy cập môi trường Azure DevOps, trước hết bạn cần thiết lập mọi thứ để thúc đẩy cộng tác trong nhóm và quy trình phát triển đầu-cuối.

Tạo tài khoản Azure DevOps

Bạn cần tạo tài khoản trước khi dùng Azure DevOps. Đây là cách bắt đầu:

  • Truy cập Trang web Azure DevOps: Đi đến Azure DevOps để bắt đầu quá trình đăng ký. Nhấp Get Started with Azure.

Đây là giao diện trang web Azure DevOps giúp bạn bắt đầu với Azure DevOps.

  • Đăng nhập bằng tài khoản Microsoft: Nếu bạn đã có tài khoản Microsoft (ví dụ: Outlook, Xbox, Office 365), bạn có thể dùng để đăng nhập. Nếu chưa, bạn sẽ cần tạo tài khoản Microsoft miễn phí.
    • Nhấp Sign in hoặc Create one! (Sign up).
    • Dùng thông tin xác thực Microsoft của bạn hoặc các tùy chọn đăng nhập khác để đăng nhập.
    • Nhấp Next.

Đăng nhập vào tài khoản Microsoft của bạn để bắt đầu.

Nhấp nút "Sign In", hoặc chọn "Create one!" nếu bạn cần đăng ký tài khoản mới.

Nhập thông tin xác thực Microsoft hoặc chọn phương thức đăng nhập khác để đăng nhập.

Cuối cùng, nhấp "Next" để tiếp tục.

  • Bắt đầu quá trình thiết lập: Nhấp vào CheckboxContinue. Sau khi đăng nhập, bạn sẽ được yêu cầu tạo một tổ chức mới. Đây sẽ là nơi chứa các nhóm và dự án Azure DevOps của bạn. 

Bắt đầu quá trình thiết lập bằng cách làm theo các bước sau:

Nhấp chọn ô checkbox để đồng ý điều khoản.

Sau đó, nhấp "Continue" để tiếp tục.

Tạo tổ chức trong Azure DevOps

Tổ chức trong Azure DevOps là nơi chứa tất cả dự án và kho mã của bạn. Đây cũng là nơi bạn quản lý nhóm, quyền hạn và thanh toán.

  • Đặt tên cho tổ chức: Chọn một tên duy nhất cho tổ chức của bạn. Điều này quan trọng vì nó sẽ xuất hiện như một phần của URL Azure DevOps (ví dụ, https://dev.azure.com/yourorganization ).
  • Chọn khu vực: Azure DevOps yêu cầu chọn khu vực lưu trữ dữ liệu của bạn. Khu vực mặc định phù hợp với hầu hết trường hợp, nhưng nếu bạn có yêu cầu cụ thể, như tuân thủ, bạn có thể chọn khu vực khác gần người dùng của bạn hơn (ví dụ, Hoa Kỳ).
  • Xác nhận và tiếp tục: Sau khi điền các thông tin này, nhấp Continue. Tổ chức của bạn đã sẵn sàng và bạn sẽ được chuyển đến cổng Azure DevOps chính!

Tạo tổ chức trong Azure DevOps rất dễ. Làm theo các bước sau:

Nhập tên cho tổ chức mới của bạn.

Chọn khu vực bạn muốn lưu trữ tổ chức.

Xác nhận lựa chọn và nhấp "Continue" để hoàn tất thiết lập.

Khám phá giao diện Azure DevOps

Sau khi tạo tổ chức, bạn sẽ được đưa tới cổng Azure DevOps. Các phần chính của dịch vụ gồm Overview, Boards, Repos, Pipelines, Test Plans và Artifacts.

Khám phá giao diện Azure DevOps rất dễ sau khi tạo tổ chức của bạn.

Bạn sẽ được đưa đến cổng Azure DevOps, nơi bạn sẽ thấy các phần như Overview, Boards, Repos, Pipelines, Test Plans và Artifacts.

Các phần này giúp bạn điều hướng và quản lý dự án hiệu quả.

Overview cung cấp tóm tắt, Boards xử lý work item, Repos lưu trữ mã, Pipelines tự động hóa build và triển khai, Test Plans quản lý kiểm thử, và Artifacts quản lý gói.

Giao diện này có thể gây choáng ngợp ban đầu, nhưng các chức năng cốt lõi của Azure DevOps có thể tóm gọn thành quản lý phiên bản, CI/CD và quản lý dự án.

Tạo dự án mới

Giờ tài khoản và tổ chức đã sẵn sàng, hãy tạo dự án đầu tiên của bạn trên Azure DevOps.

Thiết lập dự án mới

  • Nhấp vào "New Project": Trong cổng Azure DevOps, nhấn nút New Project. Thao tác này cho phép bạn thiết lập dự án đầu tiên.
  • Điền thông tin dự án:
    • Tên dự án: Chọn tên cho dự án của bạn (ví dụ, “yourproject”).
    • Mô tả (Tùy chọn): Mô tả ngắn gọn về dự án này.
    • Chế độ hiển thị: Chọn dự án công khai hay riêng tư. Dự án công khai cho phép mọi người xem, phù hợp cho dự án mã nguồn mở. Dự án riêng tư được bảo mật và chỉ những người bạn mời mới có thể truy cập.
  • Tạo dự án: Sau khi nhập chi tiết dự án và chọn hệ thống quản lý phiên bản, nhấp Create project. Dự án của bạn đã được thiết lập và sẵn sàng!

Thiết lập dự án mới trong Azure DevOps rất đơn giản:

Nhập chi tiết dự án, gồm tên, mô tả ngắn gọn và đặt chế độ hiển thị (công khai hoặc riêng tư).

Cuối cùng, nhấp "Create the Project" để bắt đầu.

  • Hệ thống quản lý phiên bản: Azure DevOps cung cấp hai loại hệ thống quản lý phiên bản: Git và Team Foundation Version Control (TFVC).
    • Git là hệ thống quản lý phiên bản phân tán hiện đại và được cộng đồng lập trình ưa chuộng. Đây là lựa chọn tốt nhất cho hầu hết dự án.
    • TFVC là hệ thống quản lý phiên bản tập trung, ít phổ biến hơn và thường dùng cho dự án legacy.

Việc chọn hệ thống quản lý phiên bản trong Azure DevOps rất quan trọng để quản lý mã của bạn. Có hai lựa chọn:

Git: Hệ thống quản lý phiên bản phân tán hiện đại, được sử dụng rộng rãi. Là lựa chọn tốt nhất cho hầu hết dự án.

TFVC (Team Foundation Version Control): Hệ thống quản lý phiên bản tập trung, ít phổ biến hơn và thường dùng cho dự án legacy.

Bố cục trực quan này giúp bạn quyết định hệ thống nào phù hợp nhất với nhu cầu dự án của mình.

Theo kinh nghiệm của tôi, nếu bạn mới bắt đầu hoặc không có lý do cụ thể để chọn TFVC, hãy chọn Git.

Sẵn sàng kiểm soát mã nguồn của bạn? Học Git và bắt đầu quản lý dự án như một chuyên gia.

Sử Dụng Azure Repos cho Quản Lý Phiên Bản

Giờ dự án đã sẵn sàng, hãy đi sâu khám phá một số tính năng chính của nó.

Thiết lập kho Git

  • Đi tới Repos: Từ menu bên trái, chọn tab Repos. Đây là nơi bạn quản lý mã.

Sử dụng Azure Repos để quản lý phiên bản rất dễ. Cách thiết lập kho Git:

Đi tới Repos: Từ menu bên trái, nhấp vào tab "Repos".

Quản lý Mã của Bạn: Đây là phần bạn sẽ quản lý và tổ chức mã nguồn.

Giao diện thân thiện giúp bạn quản lý phiên bản trong dự án một cách mượt mà.

  • Clone kho: Bạn có thể clone kho về máy cục bộ bằng URL trong phần Repos. Ví dụ:
# This command clones the specified Git repository from Azure DevOps to your local machine.
git clone https://yourorganization@dev.azure.com/yourorganization/yourproject/_git/yourrepo

Hãy tách lệnh trên thành từng phần:

  • Thay yourorganization bằng tên tổ chức của bạn.
  • Thay yourproject bằng tên dự án của bạn.
  • Thay yourrepo bằng tên kho của bạn.

Dưới đây là URL trong phần Repos của tôi:

Hãy clone kho của bạn về máy tính hoặc máy cục bộ để bắt đầu làm việc với mã nguồn tại chỗ.

Lệnh này tải xuống một bản sao kho từ Azure DevOps về máy cục bộ, cho phép bạn quản lý và cập nhật mã hiệu quả.

  • Push mã của bạn: Khi kho đã được clone về máy, bạn có thể thêm mã và push trở lại Azure DevOps.
git add .
git commit -m "my first commit"
git push origin main

Chúc mừng! Bạn vừa tạo commit đầu tiên trong Azure Repos.

Branching và merging

Trong phát triển phần mềm, branching cho phép bạn làm việc trên tính năng hoặc bản vá tách biệt khỏi dự án chính. Merging là quá trình đưa thay đổi từ một nhánh vào nhánh khác.

  • Tạo nhánh cục bộ: Để bắt đầu làm một tính năng, hãy tạo nhánh mới: 
git checkout -b feature-branch
  • Push nhánh lên Azure DevOps: Sau khi thay đổi trên nhánh mới, push nó lên Azure DevOps:
git push origin feature-branch

Chuyển giữa các nhánh

Để chuyển giữa các nhánh, dùng lệnh sau:

git checkout main

Hoặc chuyển sang nhánh khác:

git checkout feature-branch

Xóa nhánh

Khi tính năng đã được merge, bạn có thể xóa nhánh cả cục bộ và từ xa:

  • Xóa nhánh cục bộ: 
git branch -d feature-branch
  • Xóa nhánh từ xa:
git push origin --delete feature-branch

Merge nhánh qua pull request

  • Tạo pull request: Khi nhánh tính năng đã sẵn sàng để merge vào nhánh chính, đi tới mục Pull Requests trong Azure DevOps và nhấp New Pull Request.

Tạo pull request thật dễ dàng:

Khi nhánh tính năng sẵn sàng để merge vào nhánh chính, điều hướng đến phần Pull Requests trong Azure DevOps.

Nhấp New Pull Request để bắt đầu quá trình merge.

Giao diện trực quan giúp quy trình hợp nhất thay đổi mã diễn ra suôn sẻ.

  • Xem xét và merge: Rà soát thay đổi và nhấp Complete để hợp nhất thay đổi vào nhánh chính.
  • Giải quyết xung đột: Nếu có xung đột merge (tức thay đổi trong cùng một phần mã), bạn cần giải quyết thủ công. Azure DevOps sẽ hướng dẫn bằng cách tô đậm vùng xung đột.

Quản lý pull request

Pull request rất quan trọng cho việc review mã và cộng tác. Chúng cho phép thành viên nhóm xem xét mã trước khi merge vào nhánh chính.

Tạo pull request

  • Tạo pull request: Sau khi push nhánh tính năng, điều hướng tới Pull Requests và nhấp New Pull Request. Chọn nhánh nguồn (ví dụ, feature-branch) và nhánh đích (ví dụ, main).
  • Mô tả pull request: Cung cấp mô tả rõ ràng về các thay đổi trong pull request. Điều này giúp người review biết cần xem gì.

Rà soát và phê duyệt pull request

  • Yêu cầu review: Thêm người review từ nhóm của bạn để kiểm tra thay đổi mã.
  • Phê duyệt và merge: Khi pull request được phê duyệt, nhấp Complete để merge vào nhánh chính.

Tạo Pull Request trong Azure DevOps:

Tạo Pull Request: Push nhánh tính năng của bạn, vào Pull Requests, nhấp New Pull Request. Chọn nhánh nguồn (ví dụ, feature-branch) và nhánh đích (ví dụ, main).

Mô tả Pull Request: Giải thích rõ các thay đổi để hỗ trợ người review.

Yêu cầu Review: Thêm người trong nhóm để review mã.

Phê duyệt và Merge: Khi được phê duyệt, nhấp Complete để merge vào nhánh chính.

Tạo và Quản Lý Pipeline CI/CD

Azure DevOps cũng bao gồm Pipelines để tự động hóa quy trình build, test và triển khai.

Pipeline trong Azure DevOps là gì?

Pipeline trong Azure DevOps là tập hợp các quy trình tự động giúp bạn:

  • Build mã (build pipeline)
  • Kiểm thử
  • Triển khai tới các môi trường khác nhau (release pipeline)

Các pipeline này đảm bảo mã của bạn luôn sẵn sàng triển khai và có thể được kiểm thử tự động.

Tạo build pipeline

  • Đi tới Pipelines: Trong dự án Azure DevOps của bạn, nhấp New Pipeline trong phần Pipelines.

Đi tới phần Pipelines trong dự án Azure DevOps của bạn:

Mở dự án Azure DevOps.

Trong menu bên trái, nhấp vào Pipelines.

Phần này cho phép bạn quản lý build và release pipeline hiệu quả.

Để đi tới Pipelines trong dự án Azure DevOps:

Mở dự án Azure DevOps.

Nhấp vào tab Pipelines từ menu bên trái.

Nhấp New Pipeline trong phần Pipelines để tạo một pipeline mới.

Quy trình đơn giản này giúp bạn quản lý và tự động hóa workflow build và release hiệu quả.

  • Chọn nguồn: Chọn Azure Repos Git làm nguồn và chọn kho của bạn.

Chọn nguồn cho pipeline của bạn:

Chọn Azure Repos Git làm nguồn.

Sau đó, chọn kho bạn muốn làm việc cùng.

Quy trình đơn giản này đảm bảo bạn kết nối đúng kho mã với pipeline để quản lý hiệu quả.

  • Cấu hình pipeline: Bạn có thể cấu hình pipeline bằng YAML editor hoặc Classic editor. Hãy dùng YAML, cách định nghĩa pipeline dựa trên mã.

Hãy lấy ví dụ ứng dụng Node.js cơ bản. Tệp azure-pipelines.yml dưới đây chứa YAML do Azure DevOps tự động tạo. 

# 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'
  • Lưu và chạy: Lưu pipeline và chạy để kiểm tra mọi thứ hoạt động đúng.

Chạy build pipeline

Khi build pipeline đã thiết lập, bạn có thể chạy thủ công bằng cách nhấp Run Pipeline. Pipeline sẽ đi qua các giai đoạn khác nhau như “installing dependencies”, “running tests” và “building”.

Bạn có thể xem log cho từng bước để khắc phục sự cố nếu build thất bại. Azure DevOps cung cấp log chi tiết giúp bạn xác định vấn đề.

Thiết lập triển khai liên tục (CD)

  • Đi tới Releases: Trong phần Pipelines, nhấp Releases rồi New Pipeline.

Để đi tới Releases trong Azure DevOps:

Vào phần Pipelines từ menu bên trái.

Nhấp Releases.

Giao diện thân thiện giúp bạn quản lý release pipeline hiệu quả.

Tạo release pipeline trong Azure DevOps rất đơn giản:

Đi tới phần Pipelines từ menu bên trái.

Nhấp Releases.

Sau đó chọn New Pipeline để bắt đầu thiết lập quy trình phát hành.

Giao diện thân thiện giúp bạn quản lý và tự động hóa quy trình phát hành hiệu quả.

  • Thêm Artifact: Liên kết artifact từ build pipeline làm nguồn cho release pipeline.

Thêm artifact vào release pipeline:

Trong phần thiết lập release pipeline, điều hướng tới mục Add an artifact.

Liên kết artifact từ build pipeline làm nguồn cho release pipeline.

Điều này đảm bảo đầu ra build sẵn sàng cho quá trình phát hành, giúp quản lý và triển khai ứng dụng dễ dàng.

  • Triển khai tới các môi trường: Thiết lập các môi trường như Staging và Production nơi bạn muốn triển khai ứng dụng.

Triển khai tới các môi trường khác nhau thật dễ dàng:

Thiết lập các môi trường bạn muốn triển khai ứng dụng, như Staging và Production.

Quy trình này giúp bạn kiểm thử và phát hành ứng dụng hiệu quả, đảm bảo hoạt động đúng trong các kịch bản khác nhau trước khi lên môi trường thật.

Tự động hóa triển khai

Azure DevOps có thể tự động triển khai ứng dụng bất cứ khi nào có build mới. Bạn có thể thiết lập bằng cách thêm trigger và định nghĩa task để triển khai lên các nền tảng như Azure, AWS, v.v.

Quản Lý Hạng Mục Công Việc với Azure Boards

Azure Boards là trung tâm quản lý dự án trong Azure DevOps. Nó giúp nhóm lập kế hoạch, theo dõi và thảo luận công việc xuyên suốt vòng đời phát triển phần mềm thông qua các tính năng như Task, Bug, User Story và Epic. 

Dù theo Scrum hay Kanban, Azure Boards giúp bạn trực quan hóa, ưu tiên và quản lý công việc hiệu quả.

Hãy đi từng bước.

Tạo và quản lý work item

Azure Boards cho phép bạn quản lý tác vụ, lỗi và tính năng bằng work item.

  • Tạo work item: Vào Boards, chọn Work items, và nhấp New Work Item.

Tạo và Quản lý Work Item trong Azure DevOps rất đơn giản:

Azure Boards: Dùng Azure Boards để quản lý tác vụ, lỗi và tính năng thông qua work item.

Tạo Work Item: Điều hướng tới Boards, chọn Work items, và nhấp New Work Item.

Giao diện thân thiện giúp bạn quản lý và theo dõi tác vụ, vấn đề của dự án hiệu quả.

Bạn có thể tạo:

  • Epic: Hạng mục lớn hoặc phần việc bao trùm nhiều phần nhỏ.
  • Issue: Vấn đề hoặc lỗi cụ thể cần khắc phục.
  • Task: Một hạng mục công việc đơn lẻ, có thể thực hiện.

Từ menu thả xuống của "New Work Item", bạn có thể tạo:

Epic: Hạng mục lớn bao trùm nhiều phần nhỏ.

Issue: Vấn đề hoặc lỗi cụ thể cần sửa.

Task: Hạng mục công việc đơn lẻ cần hoàn thành.

Quy trình đơn giản giúp bạn quản lý hiệu quả các khía cạnh khác nhau của dự án trong Azure Boards.

  • Hãy chọn Epic
    • Nhập Title, Description, Priority, Start DateTarget Date. Nhấp Save.

Hãy tạo một work item Epic:

Chọn Epic từ menu thả xuống.

Điền các thông tin: Title, Description, Priority, Start Date và Target Date.

Nhấp Save để hoàn tất tạo.

Điều này giúp bạn quản lý và theo dõi các hạng mục lớn hiệu quả trong Azure DevOps.

  • Giao việc
    • Mở work item bạn vừa tạo. 
    • Trong trường Assign people, chọn một thành viên. 
    • Chọn Add tag để phân loại tốt hơn. Nhấp Save.

Giao work item thật dễ dàng:

Mở work item bạn vừa tạo.

Trong trường "Assign people", chọn một thành viên.

Tùy chọn, chọn "Add tag" để phân loại tốt hơn.

Nhấp Save để hoàn tất giao việc.

Quy trình gọn nhẹ giúp bạn phân bổ nhiệm vụ và quản lý đội nhóm hiệu quả trong Azure DevOps.

  • Theo dõi tiến độ
    • Dùng trường State để cập nhật trạng thái (ví dụ: New, Active, Resolved, Closed). 
    • Thêm bình luận hoặc tệp đính kèm để cập nhật hoặc cung cấp ngữ cảnh.

Theo kinh nghiệm của tôi, nhóm sẽ giữ được trách nhiệm và tập trung hơn khi có người chịu trách nhiệm rõ ràng và thời hạn hợp lý.

Thiết lập sprint và backlog

Sprint agile và backlog rất quan trọng cho phát triển lặp. Cách thiết lập:

  • Tạo Sprint: Sprint là các vòng lặp công việc có giới hạn thời gian. Bạn có thể thiết lập sprint bằng cách vào Boards > Sprints và thêm sprint mới (ví dụ, “Sprint 1”).

Thiết lập sprint và backlog trong Azure DevOps rất quan trọng cho phát triển agile. Cách thực hiện:

Tạo Sprint: Sprint là các vòng lặp công việc có giới hạn thời gian. Thiết lập sprint bằng cách điều hướng tới Boards, sau đó chọn Sprints.

Quy trình đơn giản giúp bạn quản lý phát triển lặp và theo dõi tiến độ hiệu quả.

Tạo Sprint và thêm sprint mới dễ dàng:

Để thiết lập sprint, vào Boards rồi Sprints.

Bạn có thể thêm sprint mới bằng cách đặt tên, như "Sprint 1", để tổ chức công việc hiệu quả.

Quy trình thân thiện giúp bạn quản lý vòng lặp phát triển hiệu quả.

  • Nhấp Configure Team Settings và xác định thời lượng sprint (ví dụ, 2 tuần).

Nhấp "Configure Team Settings" để tùy chỉnh và quản lý các tùy chọn, thiết lập của nhóm bạn trong Azure DevOps.

Tùy chọn này giúp bạn điều chỉnh môi trường dự án phù hợp nhu cầu của nhóm, đảm bảo cộng tác và quy trình làm việc hiệu quả.

Tùy chỉnh thiết lập bằng cách chọn các cấp điều hướng Backlog và Ngày làm việc:

Dùng các ô chọn bên cạnh để thực hiện lựa chọn.

Quy trình đơn giản giúp bạn điều chỉnh môi trường dự án phù hợp nhu cầu nhóm.

  • Thêm ngày bắt đầu và kết thúc cho sprint.

Để thiết lập sprint, hãy thêm ngày bắt đầu và kết thúc:

Nhập ngày bắt đầu và ngày kết thúc cho sprint.

Quy trình đơn giản giúp bạn lập kế hoạch và quản lý sprint hiệu quả trong Azure DevOps.

  • Quản lý product backlog: Trong chế độ xem Backlog, bạn có thể tổ chức work item theo mức độ ưu tiên. Điều hướng tới Boards > Backlogs

Quản lý product backlog dễ dàng:

Trong chế độ xem Backlog, bạn có thể tổ chức work item theo mức độ ưu tiên.

Điều hướng tới Boards, sau đó chọn Backlogs.

Giao diện thân thiện giúp bạn ưu tiên hóa tác vụ hiệu quả trong Azure DevOps.

  • Kéo thả work item vào backlog để đặt mức ưu tiên. 

Ưu tiên work item dễ dàng:

Chỉ cần kéo thả work item vào backlog để đặt mức ưu tiên.

Tính năng trực quan giúp bạn quản lý và tổ chức tác vụ hiệu quả trong Azure DevOps.

  • Trực quan hóa tiến độ: Azure DevOps giúp bạn trực quan hóa work item và di chuyển chúng qua các giai đoạn (ví dụ, To Do, Doing, Done). Dùng chế độ xem Board để xem work item theo cột. 

Trực quan hóa tiến độ dễ dàng:

Azure DevOps giúp bạn nhìn thấy trạng thái work item và di chuyển chúng qua các giai đoạn (ví dụ, To Do, Doing, Done).

Dùng chế độ xem Board để xem work item theo các cột.

Tính năng này giúp bạn theo dõi và quản lý tiến độ công việc hiệu quả trong Azure DevOps.

  • Tùy chỉnh cột cho phù hợp quy trình làm việc của nhóm.

Cấu hình thiết lập board dễ dàng:

Tùy chỉnh chế độ xem board để phù hợp với workflow và nhu cầu của nhóm bằng cách điều chỉnh thiết lập.

Tính năng này giúp bạn tinh chỉnh board để quản lý tác vụ hiệu quả và trực quan hóa tiến độ dự án tốt hơn.

Tùy chỉnh các cột để phù hợp quy trình làm việc của nhóm:

Điều chỉnh các cột trên board để khớp với quy trình và phong cách làm việc của nhóm.

Tính năng này giúp bạn tạo workflow hiệu quả và phù hợp hơn trong Azure DevOps.

Theo kinh nghiệm của tôi, làm như vậy sẽ giúp nhóm giảm thời gian chết và sự nhầm lẫn nếu backlog được tổ chức tốt và rõ ràng về những việc cần làm tiếp theo.

Liên kết work item với commit

Liên kết work item với commit giúp theo dõi thay đổi mã tương ứng với từng tác vụ hoặc lỗi. Cách thực hiện:

  • Liên kết với commit: Có hai cách: qua bảng điều khiển Azure DevOps hoặc môi trường phát triển cục bộ.
    • Bảng điều khiển Azure DevOps: Trong thông điệp commit Git, thêm  #WorkItemID (ví dụ, #1). Nhấp Commit. Azure DevOps sẽ tự động liên kết commit với work item.

Liên kết work item với commit:

Trong thông điệp commit Git, thêm #WorkItemID (ví dụ, #1).

Nhấp Commit.

Azure DevOps sẽ tự động liên kết commit với work item, đảm bảo theo dõi và quản lý thay đổi mã liền mạch.

  • Môi trường phát triển cục bộ:
    • Trong môi trường phát triển cục bộ, mở terminal hoặc command prompt. Thực hiện thay đổi mã và chuẩn bị commit.
    • Trong thông điệp commit, thêm ID work item với dấu thăng (ví dụ, Fixed bug in login analytics #1).
    • Hoàn tất commit bằng cách chạy lệnh thích hợp:
git commit -m "Fixed bug in login analytics #1"
  • Push commit lên kho từ xa (Azure Repo):
git push origin feature-branch
  • Liên kết với pull request:
    • Khi tạo pull request, đề cập ID work item trong phần Description
    • Nhấp Create. Azure DevOps sẽ tự động liên kết pull request với work item.

Liên kết với pull request:

Khi tạo pull request, đề cập ID work item trong phần mô tả.

Nhấp Create.

Azure DevOps sẽ tự động liên kết pull request với work item, đảm bảo theo dõi và quản lý liền mạch.

Theo kinh nghiệm của tôi, liên kết này cung cấp khả năng truy vết đầy đủ, giúp dễ dàng thấy thay đổi mã nào giải quyết tác vụ hay lỗi cụ thể. Bạn có thể xem các commit và PR liên kết trong phần Development của work item.

Tích Hợp với Các Công Cụ Khác

Azure DevOps tỏa sáng khi được tích hợp với các công cụ khác như GitHub và các nền tảng đám mây. Hãy cùng tìm hiểu cách thiết lập.

Tích hợp Azure DevOps với GitHub

Kết nối Azure DevOps với GitHub giúp tinh gọn cộng tác và tự động hóa CI/CD. Cách thực hiện: 

  • Kết nối GitHub với Azure Pipelines: 
    • Đi tới Pipelines > Create Pipeline

Kết nối Azure DevOps với GitHub giúp tinh gọn cộng tác và tự động hóa CI/CD. Cách thực hiện:

Kết nối GitHub với Azure Pipelines:

Đi tới phần Pipelines trong Azure DevOps.

Tích hợp này giúp bạn quản lý dự án và tự động hóa workflow hiệu quả hơn.

Nhấp Create Pipeline để bắt đầu thiết lập một pipeline mới.

Bước đơn giản này giúp bạn bắt đầu tự động hóa workflow trong Azure DevOps.

  • Chọn GitHub làm nguồn. 

Chọn GitHub làm nguồn cho pipeline mới của bạn.

Thao tác này giúp bạn kết nối kho GitHub với Azure DevOps, tinh gọn cộng tác và tự động hóa.

  • Ủy quyền cho Azure DevOps truy cập các kho GitHub của bạn.

Mới dùng GitHub? Khám phá cách cộng tác, theo dõi thay đổi và đóng góp cho dự án mã nguồn mở với khóa học GitHub concepts

  • Thiết lập pipeline 
    • Chọn một kho và cấu hình tệp YAML pipeline của bạn. 

Thiết lập pipeline:

Chọn một kho.

Quy trình đơn giản giúp bạn bắt đầu tự động hóa workflow trong Azure DevOps.

Thiết lập pipeline:

Cấu hình tệp YAML pipeline của bạn.

Quy trình đơn giản giúp bạn bắt đầu tự động hóa workflow trong Azure DevOps.

  • Định nghĩa các bước build và triển khai. Ví dụ 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..." 

Theo kinh nghiệm của tôi, tích hợp này tự động đảm bảo cập nhật mã và triển khai liền mạch, giảm công việc thủ công.

Kết nối Azure DevOps với Azure và các nền tảng đám mây khác

Azure DevOps tích hợp gốc với các dịch vụ Azure như Azure Web Apps, Azure Kubernetes Services (AKS) và nhiều dịch vụ khác. Hãy học cách kết nối Azure DevOps với Azure Web Apps.

  • Liên kết với Dịch vụ Azure:
    • Ở góc dưới bên trái dự án của bạn, đi đến Project Settings và nhấp Service Connections trong phần Pipelines

Liên kết với Dịch vụ Azure:

Ở góc dưới bên trái dự án của bạn, điều hướng đến Project Settings.

Bước này giúp bạn kết nối với nhiều dịch vụ Azure, nâng cao khả năng và tích hợp cho dự án.

Điều hướng tới phần Pipelines:

Nhấp vào Service Connections trong phần Pipelines.

Bước này giúp bạn liên kết với Dịch vụ Azure, nâng cao khả năng và tích hợp cho dự án.

    • Nhấp New Service Connection và chọn Azure Resource Manager

Thiết lập kết nối dịch vụ mới:

Nhấp New Service Connection.

Quy trình đơn giản giúp bạn kết nối tài nguyên Azure, nâng cao khả năng dự án.

Thiết lập kết nối dịch vụ mới:

Chọn Azure Resource Manager.

Quy trình đơn giản giúp bạn kết nối tài nguyên Azure, nâng cao khả năng dự án.

    • Xác thực bằng tài khoản Azure của bạn.
  • Triển khai lên Azure 
    • Quay lại Pipelines và cấu hình pipeline của bạn.
    • Trong pipeline, thêm một task để triển khai lên Azure. 
    • Chỉ định nhóm tài nguyên và chi tiết dịch vụ. Ví dụ Task 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' 

Hãy tách phần trên thành từng phần: 

  • Thay Your-Service-Connection bằng tên kết nối dịch vụ có quyền truy cập thuê bao Azure của bạn.
  • Thay Your-Web-App bằng tên thực tế của web app trong Azure.

Theo kinh nghiệm của tôi, kết nối này giúp triển khai trở nên đơn giản, cho phép bạn tập trung chủ yếu vào việc xây dựng phần mềm xuất sắc.

Giám Sát và Báo Cáo trong Azure DevOps

Giám sát và báo cáo là các quy trình then chốt để duy trì sức khỏe dự án trong Azure DevOps. Hãy tìm hiểu cách thực hiện hiệu quả.

Xem chỉ số pipeline

Các chỉ số pipeline cho biết hiệu suất build và triển khai. Cách truy cập như sau.

  • Theo dõi sức khỏe pipeline 
    • Đi tới Pipelines > Analytics.
    • Xem các chỉ số như tỷ lệ pass pipeline, tỷ lệ pass kiểm thử và thời lượng pipeline.

Theo dõi sức khỏe pipeline:

Đi tới Pipelines, sau đó chọn Analytics.

Xem các chỉ số quan trọng như tỷ lệ pass pipeline, tỷ lệ pass kiểm thử và thời lượng pipeline.

Tính năng này giúp bạn theo dõi hiệu suất pipeline và đảm bảo mọi thứ hoạt động trơn tru.

  • Xác định nút nghẽn 
    • Để tìm giai đoạn lỗi và build chậm, dùng báo cáo Pipeline Runs report.

Xác định nút nghẽn:

Để tìm giai đoạn thất bại và build chậm, dùng báo cáo Pipeline Runs.

Điều này giúp bạn xác định vấn đề và cải thiện hiệu suất pipeline trong Azure DevOps.

    • Đi tới Organization Settings > Pipelines > Parallel jobs trong Azure DevOps để dùng các job song song nhằm cải thiện hiệu suất và tối ưu tác vụ. 

Đi tới Organization Settings trong Azure DevOps của bạn:

Vào Pipelines, sau đó chọn Parallel jobs.

Sử dụng job song song giúp cải thiện hiệu suất và tối ưu tác vụ trong Azure DevOps.

Theo kinh nghiệm của tôi, cache phụ thuộc, tách nhỏ job và tối ưu cấu trúc pipeline có thể giảm đáng kể thời gian build và tỷ lệ lỗi.

Sử dụng báo cáo Azure DevOps

Azure DevOps cung cấp công cụ báo cáo mạnh mẽ để theo dõi năng suất nhóm và tiến độ dự án.

  • Truy cập báo cáo 
    • Đi tới Analytics > Reports
    • Chọn từ các báo cáo dựng sẵn như Cumulative Flow Diagram, Velocity hoặc Burndown.

Truy cập Analytics Reports:

Chọn từ các báo cáo dựng sẵn như Cumulative Flow Diagram, Velocity hoặc Burndown.

  • Tùy chỉnh báo cáo 
    • Dùng Power BI để tạo dashboard tùy chỉnh. Để làm điều này, dùng Power BI Data Connector, đi tới Power BI Online và đăng nhập vào tài khoản của bạn.
    • Nhấp biểu tượng Home ở góc trên trái, rồi chọn Get Data trên ribbon.
    • Bạn sẽ thấy danh sách nguồn dữ liệu trong cửa sổ Get Data. Chọn Online Services > Azure DevOps (Boards only) làm bộ kết nối dữ liệu.

Tạo dashboard tùy chỉnh với Power BI:

Dùng Power BI Data Connector.

Đi tới Power BI Online và đăng nhập vào tài khoản của bạn.

Nhấp biểu tượng Home ở góc trên trái, sau đó chọn Get Data trên ribbon.

Trong cửa sổ Get Data, chọn Online Services > Azure DevOps (Boards only) làm bộ kết nối dữ liệu.

Quy trình từng bước giúp bạn tạo dashboard tùy chỉnh và trực quan hóa dữ liệu trong Power BI hiệu quả.

  • Nhập chi tiết tài khoản của bạn, như tên Organization Team project names, để đồng bộ dữ liệu.

Nhập chi tiết tài khoản để đồng bộ dữ liệu:

Cung cấp tên Organization và Team project của bạn.

Điều này giúp đảm bảo dữ liệu được đồng bộ chính xác trong Azure DevOps.

  • Xuất dữ liệu để phân tích thêm.

Theo kinh nghiệm của tôi, bạn có thể đưa ra quyết định dựa trên dữ liệu với các báo cáo phân tích này, chúng mang lại insight thực tiễn.

Các Thực Tiễn Tốt Nhất cho Azure DevOps

Giờ chúng ta đã tìm hiểu về các dịch vụ cốt lõi của Azure DevOps và nhiều nội dung khác, hãy xem cách khai thác tối đa Azure DevOps bằng cách tuân theo các thực tiễn tốt nhất này.

Thực tiễn tốt nhất cho quản lý phiên bản

  • Dùng chiến lược nhánh 
    • Áp dụng Git Flow hoặc GitHub Flow cho branching. 
    • Luôn giữ nhánh main ổn định và dùng nhánh tính năng cho phát triển.
  • Viết thông điệp commit rõ ràng 
    • Dùng định dạng: type(scope): description (ví dụ, feat(login): add user authentication).
  • Rà soát pull request 
    • Yêu cầu ít nhất một người review trước khi merge pull request. 
    • Dùng bình luận để đề xuất cải tiến.

Thực hành quản lý phiên bản tốt giúp mã nguồn sạch và tái sử dụng được.

Tối ưu hóa pipeline

  • Dùng Cache Dependencies: Tải lại lặp đi lặp lại các phụ thuộc có thể lãng phí thời gian đáng kể khi làm việc với trình quản lý gói. Azure DevOps hỗ trợ cơ chế cache, như Cache task, cho phép bạn cache các phụ thuộc giữa các lần chạy pipeline. 

Ví dụ YAML cho cache task:

# 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'
  • Tách job: Chia nhỏ các job lớn thành tác vụ nhỏ hơn, chạy song song. Với khối lượng công việc lớn, tách thành các tác vụ riêng sẽ cho phép thực thi đồng thời, tăng tốc toàn bộ quy trình.

Ví dụ YAML cho jobs:

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'
  • Dùng template: Tạo template pipeline có thể tái sử dụng cho các tác vụ thường gặp. Làm vậy, bạn không phải viết lại cùng một đoạn mã nhiều lần. Hãy tạo một template đơn giản cho tác vụ build:

Ví dụ YAML cho template:

# 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)'

Tôi nhận thấy tối ưu pipeline luôn mang lại lợi ích về thời gian và tài nguyên.

Quản lý bí mật và bảo mật

  • Dùng Azure Key Vault: Lưu trữ thông tin nhạy cảm như API key trong Azure Key Vault. Để làm việc này, vào Azure Portal, tạo Key Vault mới và thêm bí mật của bạn (ví dụ, API key).

Managing secrets and security:

Use Azure Key Vault:

Store sensitive information like API keys in Azure Key Vault.

To do this, go to the Azure Portal and create a new Key Vault.

This step helps keep your sensitive data secure and organized within Azure DevOps.

After creating a new Key Vault:

Add your secrets, such as API keys and passwords.

This step helps keep your sensitive data secure and organized within Azure DevOps.

  • Go back to Azure DevOps and create a service connection to your Azure subscription so your pipeline can access the Key Vault.

Create a service connection to your Azure subscription:

Go back to Azure DevOps.

Set up a service connection to your Azure subscription.

This step helps your pipeline access the Key Vault, enhancing security and automation in your project.

  • Go to Pipelines > Library in Azure DevOps and create a new variable group. 

Create a new variable group easily:

In Azure DevOps, navigate to Pipelines, then select Library.

Create a new variable group.

This step helps you manage and organize your variables for efficient pipeline configurations.

  • Link the variable group to your Key Vault to automatically fetch the secrets.
  • Reference secrets in your pipelines using variable groups. Example 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'

From the example above: The my-variable-group variable group is referenced, which contains secrets from the Key Vault. The script step echoes a message, using the variable group's secret $(my-secret) as an environment variable.

  • Restrict Permissions 
    • Always remember to limit access to pipelines and repositories based on roles.

One essential practice in modern software development is Security. Security is non-negotiable and can’t be compromised because of the consequences at stake. 

Conclusion

This tutorial taught us how to set up an Azure DevOps environment, use Azure Repos for version control, create and manage CI/CD pipelines, track and manage work items with Azure Boards, integrate Azure DevOps with other tools, best practices for Azure DevOps, and more.

Consistency is the secret to success. Review your processes frequently, get feedback, and make adjustments. Mastering these can unlock your full potential as a data professional in software development. Explore Azure DevOps, try out these tools, and see how much more productive your team is.

To dive deeper into Microsoft Azure, check out the following courses: 


Emmanuel Akor's photo
Author
Emmanuel Akor
LinkedIn
Twitter

Emmanuel Akor là Kỹ sư Cloud & DevOps, thành thạo trong việc tận dụng các công nghệ đám mây và công cụ DevOps để thúc đẩy những dự án tạo tác động. Là cử nhân loại Xuất sắc ngành Khoa học Máy tính từ Đại học Babcock và từng là Đồng Trưởng nhóm Mảng Đám mây tại GDSC, Emmanuel kết hợp nền tảng học thuật vững chắc với kinh nghiệm thực tiễn. Với vai trò Biên tập viên Nội dung Kỹ thuật, anh xuất sắc trong việc chia sẻ kiến thức và hợp tác cùng các đội ngũ.

Chủ đề

Learn more about Azure with these courses!

Tracks

Microsoft Azure Fundamentals (AZ-900)

9 giờ
Chuẩn bị cho chứng chỉ Azure Fundamentals của Microsoft (AZ-900) bằng cách tìm hiểu các kiến thức cơ bản về Azure: điện toán, lưu trữ và mạng.
Xem chi tiếtRight Arrow
Bắt đầu khóa học
Xem thêmRight Arrow