DevOps Cloud Computing Hướng dẫn

Azure DevOps: Hướng Dẫn Toàn Diện Cho Người Mới Bắt Đầu

Tìm hiểu những điều cơ bản về Azure DevOps và cách thiết lập pipeline CI/CD đầu tiên cho phát triển phần mềm hiện đại.

Đỗ Tiến Điệp
Cập nhật 20 tháng 1, 2024

Azure DevOps: Hướng Dẫn Toàn Diện Cho Người Mới Bắt Đầu

Azure DevOps là bộ công cụ phát triển toàn diện của Microsoft cung cấp mọi thứ bạn cần để lập kế hoạch, phát triển, kiểm thử và triển khai các ứng dụng phần mềm. Dù bạn là một nhà phát triển dày dạn kinh nghiệm hay chỉ mới bắt đầu hành trình DevOps, hướng dẫn này sẽ giúp bạn hiểu những điều cơ bản và đưa bạn lên đường nhanh chóng.

Azure DevOps là gì?

Azure DevOps là một nền tảng dựa trên đám mây kết hợp nhiều công cụ phát triển thành một dịch vụ tích hợp duy nhất:

  • Azure Boards: Theo dõi công việc và quản lý dự án
  • Azure Repos: Quản lý mã nguồn Git
  • Azure Pipelines: Tự động hóa CI/CD cho việc xây dựng, kiểm thử và triển khai
  • Azure Test Plans: Công cụ và khả năng kiểm thử
  • Azure Artifacts: Quản lý gói cho các phụ thuộc

Thiết Lập Dự Án Đầu Tiên

1. Tạo Tổ Chức Azure DevOps

Trước tiên, bạn cần tạo một tổ chức Azure DevOps:

  1. Truy cập dev.azure.com
  2. Đăng nhập bằng tài khoản Microsoft của bạn
  3. Nhấp “Tạo tổ chức mới”
  4. Chọn tên duy nhất cho tổ chức của bạn
  5. Chọn vị trí ưa thích của bạn

2. Tạo Dự Án Mới

Khi tổ chức của bạn đã được thiết lập:

  1. Nhấp “Dự án mới”
  2. Nhập tên dự án và mô tả
  3. Chọn khả năng hiển thị (Riêng tư hoặc Công khai)
  4. Chọn hệ thống kiểm soát phiên bản (Git được khuyến nghị)
  5. Chọn quy trình công việc (Agile, Scrum hoặc CMMI)

Hiểu Về Azure Pipelines

Azure Pipelines là trái tim của CI/CD trong Azure DevOps. Nó cho phép bạn tự động hóa việc xây dựng, kiểm thử và triển khai ứng dụng.

Ví Dụ Pipeline YAML

Đây là một pipeline YAML đơn giản cho ứng dụng Node.js:

trigger:
- main

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '18.x'
  displayName: 'Cài đặt Node.js'

- script: |
    npm install
    npm run build
    npm test
  displayName: 'Cài đặt, Xây dựng và Kiểm thử'

- task: PublishTestResults@2
  inputs:
    testResultsFiles: '**/test-results.xml'
    testRunTitle: 'Kết quả kiểm thử'
  condition: succeededOrFailed()

Các Khái Niệm Pipeline Chính

  • Triggers: Định nghĩa khi pipeline chạy (khi có thay đổi mã, theo lịch, v.v.)
  • Stages: Ranh giới logic trong pipeline (Xây dựng, Kiểm thử, Triển khai)
  • Jobs: Đơn vị công việc chạy trên agents
  • Steps: Các tác vụ riêng lẻ trong một job

Thực Hành Tốt Nhất Cho Azure DevOps

1. Sử dụng Infrastructure as Code

Lưu trữ định nghĩa cơ sở hạ tầng của bạn trong kiểm soát phiên bản:

# infrastructure/main.bicep
param location string = resourceGroup().location
param appName string

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: '${appName}storage'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

2. Triển Khai Các Thực Hành Bảo Mật

  • Sử dụng kết nối dịch vụ để truy cập an toàn vào tài nguyên bên ngoài
  • Lưu trữ bí mật trong Azure Key Vault
  • Bật chính sách nhánh cho code review
  • Sử dụng nguyên tắc đặc quyền tối thiểu

3. Giám Sát và Tối Ưu Hóa

  • Thiết lập giám sát và cảnh báo cho pipelines
  • Sử dụng phân tích pipeline để xác định nút thắt cổ chai
  • Triển khai logging và telemetry phù hợp

Các Trường Hợp Sử Dụng Phổ Biến

Triển Khai Ứng Dụng Web

Đối với một ứng dụng web điển hình, pipeline của bạn có thể bao gồm:

  1. Giai Đoạn Xây Dựng: Biên dịch mã, chạy kiểm thử đơn vị
  2. Giai Đoạn Kiểm Thử: Kiểm thử tích hợp, quét bảo mật
  3. Giai Đoạn Triển Khai: Triển khai lên staging, sau đó production

Di Chuyển Cơ Sở Dữ Liệu

Xử lý thay đổi cơ sở dữ liệu một cách an toàn:

- task: AzureSqlDacpacDeploymentOnMachineGroup@0
  inputs:
    azureSubscription: 'kết-nối-dịch-vụ-của-bạn'
    ServerName: 'máy-chủ-của-bạn.database.windows.net'
    DatabaseName: 'cơ-sở-dữ-liệu-của-bạn'
    DacpacFile: '$(Build.ArtifactStagingDirectory)/**/*.dacpac'

Khắc Phục Sự Cố Các Vấn Đề Phổ Biến

Lỗi Pipeline

Nguyên nhân và giải pháp phổ biến:

  • Lỗi xây dựng: Kiểm tra cấu hình xây dựng và phụ thuộc
  • Lỗi kiểm thử: Xem xét kết quả kiểm thử và sửa các kiểm thử thất bại
  • Lỗi triển khai: Xác minh mục tiêu triển khai và quyền

Tối Ưu Hóa Hiệu Suất

  • Sử dụng bộ nhớ đệm cho phụ thuộc
  • Song song hóa jobs khi có thể
  • Tối ưu hóa scripts xây dựng
  • Sử dụng agent pools phù hợp

Bước Tiếp Theo

Bây giờ bạn đã hiểu những điều cơ bản về Azure DevOps:

  1. Khám Phá Các Tính Năng Nâng Cao: Tìm hiểu về multi-stage pipelines, chiến lược triển khai
  2. Tích Hợp Với Các Công Cụ Khác: Kết nối với GitHub, Slack hoặc các dịch vụ khác
  3. Triển Khai Giám Sát: Thiết lập giám sát và cảnh báo toàn diện
  4. Mở Rộng Thực Hành: Áp dụng nguyên tắc DevOps trên toàn tổ chức

Kết Luận

Azure DevOps cung cấp một nền tảng mạnh mẽ cho phát triển phần mềm hiện đại. Bằng cách làm theo các thực hành được nêu trong hướng dẫn này, bạn sẽ có thể triển khai các pipeline CI/CD hiệu quả và cải thiện quy trình phát triển.

Hãy nhớ rằng, DevOps không chỉ là về công cụ—đó là về văn hóa, hợp tác và cải tiến liên tục. Bắt đầu nhỏ, lặp lại và dần dần mở rộng thực hành DevOps khi nhóm và tổ chức của bạn phát triển.


Có câu hỏi về Azure DevOps? Hãy liên hệ hoặc xem tài liệu chính thức để biết thêm thông tin chi tiết.

Thẻ: #Azure #DevOps #CI/CD #Cloud #Hướng dẫn

Thích bài viết này?

Tôi viết về phát triển phần mềm, DevOps và các công nghệ web hiện đại. Theo dõi tôi để có thêm nhiều thông tin và hướng dẫn.