Hướng dẫn sử dụng chi tiết Azure Pipelines - 789bet dang nhap

| Jan 7, 2025 min read

12 tháng 4 năm 2022 | Công nghệ thông tin

Azure Pipelines là một phần của Azure DevOps. Azure Pipelines tích hợp liên tục (CI) và triển khai liên tục (CD) để xây dựng và kiểm tra mã nguồn, cũng như có thể phát hành chúng đến bất kỳ môi trường đích nào. Azure Pipelines cung cấp hai cách cấu hình: giao diện trực quan (classic) và YAML. Trong bài viết này, chúng ta sẽ tập trung vào phương pháp cấu hình YAML.

Các tình huống hoặc môi trường được hỗ trợ bởi Azure Pipelines

  • Hệ thống kiểm soát phiên bản: Trước khi thiết lập CI/CD cho ứng dụng, cần đảm bảo rằng mã nguồn đã được đẩy lên một hệ thống kiểm soát phiên bản. Azure DevOps hỗ trợ các nền tảng kiểm soát phiên bản như GitHub, Azure Repos và Bitbucket.

  • Ngôn ngữ lập trình hoặc ứng dụng: Azure Pipelines hỗ trợ việc xây dựng, kiểm thử và triển khai ứng dụng được phát triển bằng nhiều ngôn ngữ khác nhau trên ba nút đại lý (agent node): Linux, macOS và Windows. Các ngôn ngữ phổ biến bao gồm Python, Java, JavaScript, PHP, Ruby, C#, C++ và Go.

  • Mục tiêu môi trường triển khai: Azure Pipelines hỗ trợ hầu hết các môi trường triển khai, bao gồm máy ảo, môi trường container, môi trường On-Premise và nền tảng đám mây. Ngoài ra, bạn cũng có thể sử dụng Azure Pipelines để phát hành ứng dụng di động lên cửa hàng ứng dụng.

  • Kiểm thử tự động: Azure Pipelines hỗ trợ kiểm thử tự động đối với ứng dụng được triển khai trên đám mây hoặc môi trường On-Premise. Bạn có thể chọn công nghệ và framework kiểm thử mà mình thích, đồng thời nhận được báo cáo kiểm thử phong phú.

  • Định dạng gói và kho lưu trữ: Azure Pipelines hỗ trợ các công cụ đóng gói phổ biến như NuGet, npm và Maven, cũng như cho phép phát hành gói đã xây dựng đến kho quản lý gói tích hợp sẵn của Azure Pipelines hoặc các kho bên ngoài như Nexus, Artifactory.

Viết định nghĩa Azure game 123win Pipelines

Để định nghĩa Azure Pipelines, bạn cần tạo tệp azure-pipelines.yml ở thư mục gốc của dự án theo định dạng YAML. Tệp định nghĩa này sẽ cùng tồn tại trong kho mã nguồn với mã dự án, tuân theo cùng chiến lược phân nhánh (branch strategy). Qua quá trình xem xét PR (Pull Request), bạn có thể xác minh các thay đổi trước khi áp dụng.

Các bước cơ bản để sử dụng Azure Pipelines:

  • Cấu hình Azure Pipelines cho kho mã nguồn Git;
  • Tạo tệp azure-pipelines.yml tại thư mục gốc của dự án để định nghĩa các bước trong pipeline (biên dịch, đóng gói, phát hành và triển khai);
  • Khi cập nhật mã nguồn và gửi PR đến nhánh chỉ định, pipeline sẽ tự động kích hoạt và thực thi các bước tương ứng. Sau đó, bạn kiểm tra kết quả chạy và quyết định có nên hợp nhất PR vào nhánh chỉ định hay không.

Bắt đầu sử dụng Azure Pipelines

Đăng ký Azure Pipelines

Truy cập trang giới thiệu Azure Pipelines và nhấp vào “Start free” hoặc “Start free with GitHub”. Hệ thống sẽ hướng dẫn bạn đăng ký Azure Pipelines bằng tài khoản Microsoft hoặc GitHub. Sau khi hoàn thành, bạn cần tạo một tổ chức Azure DevOps và có thể truy cập nó qua URL.

Tạo pipeline đầu tiên

Sử dụng một ứng dụng mẫu bằng Java để tạo pipeline đầu tiên của bạn:

  • Fork kho mẫu: Fork kho sau đây vào tài khoản GitHub của bạn.
  • Tạo pipeline: Mở dự án đã tạo trước đó, thêm một pipeline mới từ nguồn GitHub, chọn mẫu Maven và lưu để chạy. Lúc này, tệp YAML azure-pipelines.yml sẽ được tự động tạo và đẩy vào kho.

Nội dung của tệp azure-pipelines.yml có thể trông như sau:

pool:
  vmImage: ubuntu-latest
steps:
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    goals: 'package'

Pipeline này thực hiện quá trình đóng gói mã nguồn bằng lệnh maven package và chạy kiểm thử đơn vị.

Tùy chỉnh nội dung pipeline

Trước khi tùy chỉnh, hãy phân tích nội dung hiện tại của tệp azure-pipelines.yml:

  • Phần trigger: Pipeline sẽ được kích hoạt khi có commit mới trên nhánh master.
  • Phần pool: Pipeline sẽ chạy trên một nút Linux với hình ảnh ubuntu-latest.
  • Phần steps: Pipeline chỉ có một bước duy nhất là chạy tác vụ Maven.

Bạn có thể tùy chỉnh pipeline theo nhu cầu của mình. Ví dụ:

  • Đổi nền tảng xây dựng bằng cách thay đổi vmImage thành windows-latest hoặc macos-latest.
  • Thêm bước báo cáo độ phủ kiểm thử bằng cách thêm tác vụ PublishCodeCoverageResults@1.

Và còn nhiều tùy chỉnh khác về điều kiện kích hoạt, chiến lược chạy song song giữa các nền tảng, xử lý lỗi…

Cơ sở khái niệm của Azure Pipelines

Một pipeline Azure bao gồm nhiều Stage, mỗi Stage lại bao gồm nhiều Job, và mỗi Job bao gồm nhiều Step. Step có thể là Script hoặc game bài tặng 50k Task.

Khái niệm cơ bản

  • Pipeline: Định nghĩa quy trình tích hợp và triển khai liên tục của ứng dụng.
  • Stage: Là ranh giới logic trong pipeline, giúp chia nhỏ các giai đoạn như xây dựng, QA, triển khai.
  • Job: Một nhóm Step chạy trên một Agent.
  • Step: Là khối xây dựng nhỏ nhất của pipeline, có thể là Script hoặc Task.
  • Task: Là khối xây dựng tự động hóa trong pipeline.
  • Script: Là mã chạy bằng dòng lệnh, PowerShell hoặc Bash.
  • Agent: Là môi trường cơ bản để chạy Job.
  • Approvals: Là các kiểm tra trước khi xây dựng hoặc triển khai.
  • Artifact: Là các gói hoặc file được tạo ra từ quá trình xây dựng.
  • Deployment: Là nhóm các bước triển khai ứng dụng đến môi trường đích.
  • Environment: Là nhóm tài nguyên nơi ứng dụng được triển khai.
  • Run: Là một lần thực thi pipeline.
  • Trigger: Là cách pipeline biết khi nào nên chạy.

Trigger

Trigger dùng để định nghĩa chiến lược kích hoạt tự động của pipeline. Có ba loại trigger chính:

  • CI/PR Trigger: Kích hoạt khi có commit hoặc PR mới.
  • Scheduled Trigger: Kích hoạt theo lịch đặt sẵn.
  • Pipeline Completion Trigger: Kích hoạt pipeline khác sau khi pipeline hiện tại hoàn thành.

Task và Template

Task là khối xây dựng tự động hóa trong pipeline. Mỗi Job có một hoặc nhiều Task, tất cả sẽ chạy tuần tự. Azure Pipelines cung cấp nhiều Task tích hợp sẵn và cũng hỗ trợ tạo Task tùy chỉnh.

Template có thể được sử dụng để định nghĩa logic tái sử dụng hoặc kiểm soát an ninh pipeline.

Job và Stage

Job là chuỗi các bước chạy tuần tự. Stage là ranh giới logic trong pipeline, giúp tổ chức các Job thành các giai đoạn rõ ràng.

Các tính năng khác bao gồm:

  • Thiết lập biến số và mật khẩu.
  • Kiểm tra thủ công và cổng kiểm soát.
  • Sử dụng Azure Key Vault để quản lý thông tin nhạy cảm.

Hy vọng bài viết này giúp bạn hiểu rõ hơn về cách sử dụng Azure Pipelines và áp dụng chúng vào dự án thực tế của mình.

#DevOps #Azure