DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Trigger trong pipeline Azure

Tổng quan về Azure Pipelines (Part 4)

quyentho by quyentho
25 Tháng 4, 2025
in DevOps & Cloud
0
Share on FacebookShare on Twitter

Bài viết này sẽ tổng hợp và phân loại trigger pipeline cũng như giới thiệu về tính ứng dụng của chúng theo cách dễ dàng tiếp cận nhất với người bắt đầu làm quen với Azure Pipelines để làm nền tảng cho quá trình tự nghiên cứu và đọc document của bạn sau này.

Tại sao cần phải tổng hợp lại?

Trong quá trình làm việc với Azure DevOps, mình nhận thấy rằng documentation của microsoft về mục triggers khá đầy đủ và cụ thể khi dùng làm tài liệu tra cứu. Tuy nhiên nó chưa đủ tổng quát, và cách phân loại có lẽ vẫn chưa được rõ ràng, gây nhiều khó khăn cho người mới tiếp cận.

1. Trigger là gì?

Trigger là cách mà chúng ta khởi động Azure Pipelines.
Ví dụ như khi một commit được push lên branch master, ta muốn Build pipeline được chạy tự động để chắc chắn rằng code phải build thành công trước khi được merge. Hoặc ta muốn Release pipeline tự động deploy vào ban đêm để không ảnh hưởng tới người dùng. Làm thế nào? Dùng trigger để build tự động và đặt lịch deploy tự động.
Khi ta nói đến Trigger, thường ta nghĩ đến những cách tự động, nhưng đừng quên rằng manual trigger bằng cách bấm nút start pipeline cũng là một loại trigger.
Tóm lại:  Trong Azure Pipeline, trigger không chỉ là một khái niệm, mà nó là những config mà chúng ta có thể thao tác để pipelines được chạy theo ý muốn.

2. Filter trong trigger:

Filter là cách giới hạn trigger dựa trên tiêu chí nào đó. Tùy vào loại trigger mà có thể sẽ có những filter này mà không có những filter khác:

  • Branch filter: Trigger trên những branch nào?
  • Tag filter: Chỉ trigger build pipeline khi commit có git tag nhất định hoặc chỉ trigger release khi có build tag nhất định?
  • Stage filter: Trigger một pipeline mới nếu những stages trong một pipeline khác chạy thành công (complete).
  • Path filter: Chỉ trigger khi những file nào thay đổi (include/exclude).
  • Artifacts filter: Trigger khi những artifact nào được thay đổi.
resources:       
  pipelines:
  - pipeline: string 
    source: string  
    trigger:     
      branches:  
        include: [ string ]  
        exclude: [ string ]  
      stages: [ string ]  
      tags: [ string ]

Cấu trúc khi viết filter trong YAML.

Related Post

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

7 Tháng 6, 2025

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

29 Tháng 4, 2025

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025

Đối với CLassic UI Mode, filter sẽ rất dễ dàng xác định khi đã biết được tên gọi và ý nghĩa của từng loại filter ở trên.

3. Phân loại triggers:

Mình sẽ phân loại trigger dựa trên loại pipeline:

3.1 Trigger của Build Pipeline:

1. Continuous Integration Trigger (CI trigger):

Trigger này được kích hoạt khi có bất kì thay đổi được áp dụng trên branch đã chọn.

Khai báo bằng YAML:

trigger:
- master
- releases/*

Setup bằng Classic UI:

Chọn Build Pipeline → tab Triggers → Continuous integration → Enable continuous Integration.

Ta có thể thấy CI trigger có thể áp dụng Branch filter và Path filter

Option Batch changes while a build is in progress: nếu ở thời điểm build đang run, có nhiều hơn 1 thay đổi xảy ra trên branch thì lần build tiếp đó, tất cả các commit sẽ được gộp lại để build chung một lần thay vì mỗi build cho một commit như mặc định.

 2. Pull Request Validation trigger (PR trigger):

Trigger này sẽ kích hoạt trên branch muốn được merge vào branch chỉ định. Ví dụ ta config PR trigger cho develop và một branch feature là feature/new-feature đang muốn merge vào develop. Khi đó, build pipeline sẽ chạy trên branch feature để xem build có thành công hay không trước khi được merge.

Khai báo bằng YAML (Source là GitHub):

pr:
  branches:
    include:
    - master
    - develop

Setup bằng Classic UI:

Chọn Build Pipeline → tab Triggers → Pull request validation -> Enable

Mình tạm minh họa với source repo là Github. Với source là Azure DevOps repo thì setup PR trigger sẽ là một câu chuyện khác, hẹn mọi người vào bài viết khác ?

3. Scheduled trigger:

Như tên gọi, scheduled trigger dùng để hẹn giờ cho việc build:

YAML:

schedules:
- cron: string # Dùng cron syntax để hẹn giờ
  displayName: string # Tên của trigger
  branches:
    include: [ string ]     
    exclude: [ string ]    
  always: boolean      # Mặc định là false: không trigger nếu không có commit mới.

Classic UI:

Chọn Build Pipeline → tab Triggers → Scheduled

 

4. Build Completion Trigger (Pipeline Completion Trigger đối với YAML)

Trigger một pipeline khác khi pipeline ban đầu đã hoàn thành.

YAML:

resources:
  pipelines:
  - pipeline: string # đặt tên cho resource pipeline hiện tại
    source: string # tên pipeline, trigger dựa trên pipeline này
    trigger:
      stages:         # stage 
      - PreProduction # Tên stage ví dụ
      - Production    # (Stage filter bao gồm 2 stages, tức là sau khi 2 stage này complete thì 
                      # pipeline này sẽ được trigger, bất kể pipeline kia còn stage nào khác)

Để ý rằng ở trigger này, ta có thể dùng Stage Filter

Classic UI:

Chọn Build Pipeline → tab Triggers → Build Completion:

3.2 Trigger của Release Pipeline (Classic Mode)

1. Continuous Deployement Trigger (CD trigger)

Trigger deploy mỗi khi một bản build thành công và tạo ra artifacts mới:

2. Pull Request Trigger (PR trigger)

Giống với PR trigger ở Build Pipelines, trigger này sẽ run khi có một pull request merge vào và tạo ra artifacts mới.

Để ý có một dùng thông báo màu vàng ở dưới cùng của ảnh, bởi vì trigger này phải được dùng chung với option PR deployment của Stage trigger

3. Scheduled Trigger:

Trigger deploy tự động vào một thời gian xác định.

Ta có một option Only Schedule… : không trigger nếu không có artifact mới. Tick chọn nếu muốn always re-deploy.

 4. Stage trigger

Đây là trigger cụ thể cho từng Stage của Release Pipeline và có bao gồm rất nhiều options:

  • Select trigger: Trong trường hợp tạo release và chọn Automate Deploy thì option này quyết định khi nào thì stage này được deploy.
  • Artifact filter
  • Schedule: hẹn giờ để auto deploy cho stage này
  • PR Deployment: Dùng kết hợp với Pull Request trigger để auto deploy khi merge PR.
  • Pre-deployment approval: Khi stage này được deploy, cần phải xin Approve thì mới được tiếp tục.
  • Deployment Queue settings: Tương tự với batch changes của CI trigger. Ta có thể chọn chỉ deploy commit mới nhất.

3. Lời kết

Hi vọng bài viết đã mang lại cái nhìn tổng quát về triggers trong Azure DevOps. CHEER

Tags: artifactazureAzure DevOpsbatchbuilddeploydevopsgitkiến trúcmicrosoftpipelinereleasesetuptrigger
quyentho

quyentho

Related Posts

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
AI & Automation

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

by devopsify
16 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên
Bảo mật

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

by devopsify
7 Tháng 6, 2025
Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!
Tin tức

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

by devopsify
29 Tháng 4, 2025
Next Post

Lưu trữ artifact lên Nexus thông qua Jenkins

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Cài đặt Grafana – Loki – Promtail monitoring log Container

Cài đặt Grafana – Loki – Promtail monitoring log Container

1 Tháng 5, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify