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
- Azure Boards: Quản lý dự án (Agile/Scrum/Kanban). Tạo User Story, Bug, Task. (Giống Jira/Trello).
- Azure Repos: Lưu trữ mã nguồn Git. (Giống GitHub/GitLab).
- Azure Pipelines: Tự động hóa Build và Deploy (CI/CD). (Giống Jenkins/GitHub Actions).
- Azure Artifacts: Quản lý các gói thư viện (Nuget, Npm, Maven). (Giống Nexus/Artifactory).
- 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)