Chuyển tới nội dung chính

Azure DevOps Services (ADO): Hướng dẫn Toàn diện

1. Giới thiệu

Azure DevOps là bộ công cụ "All-in-one" của Microsoft để quản lý toàn bộ vòng đời phần mềm. Nó giống như sự kết hợp của: Jira + GitHub + Jenkins + Nexus.


2. Các thành phần chính

  1. Azure Boards: Quản lý dự án (Agile/Scrum/Kanban). Tạo User Story, Bug, Task. (Giống Jira/Trello).
  2. Azure Repos: Lưu trữ mã nguồn Git. (Giống GitHub/GitLab).
  3. Azure Pipelines: Tự động hóa Build và Deploy (CI/CD). (Giống Jenkins/GitHub Actions).
  4. Azure Artifacts: Quản lý các gói thư viện (Nuget, Npm, Maven). (Giống Nexus/Artifactory).
  5. Azure Test Plans: Quản lý kịch bản test thủ công (Manual Test).

3. Azure Pipelines

Đây là phần quan trọng nhất với DevOps Engineer.

YAML Pipelines (Hiện đại)

Định nghĩa quy trình build/deploy bằng code (azure-pipelines.yml) lưu trong Git.

  • Version Control: Theo dõi lịch sử sửa đổi pipeline.
  • Review: Sửa pipeline phải qua Pull Request.

Agents (Người thực hiện)

Pipeline cần một máy tính để chạy các lệnh (Build code, Run test). Máy tính đó gọi là Agent.

  • Microsoft-hosted Agents: Máy ảo của Microsoft.
    • Ưu điểm: Không cần cài đặt, bảo trì. Dùng xong xóa.
    • Nhược điểm: Mỗi lần chạy là máy mới tinh (phải tải lại thư viện -> chậm). Giới hạn số phút miễn phí.
  • Self-hosted Agents: Máy ảo của bạn (hoặc máy local).
    • Ưu điểm: Cài sẵn tool, cache thư viện -> Build cực nhanh. Miễn phí (chỉ tốn tiền thuê VM).
    • Nhược điểm: Phải tự update, bảo trì OS.

4. Ví dụ Pipeline đơn giản

trigger:
- main

pool:
vmImage: 'ubuntu-latest'

steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'

- task: CopyFiles@2
inputs:
contents: '**'
targetFolder: $(Build.ArtifactStagingDirectory)