Tìm hiểu về trigger trong jenkins khi truyển khai CI&CD

Chào các bạn.!

ở bài Làm quen với CI&CD phần 1 build source với jenkins  Mình đã hướng dẫn các bạn build source trên github hôm nay chúng ta sẽ đi vào tìm hiểu về các trigger trong jenkins trước khi đi vào phần tìm hiểu về Trigger chúng ta hãy cùng xem định nghĩa trigger là gì đã

Trigger:  Trigger trong jenkins được hiểu đơn giản thì nó là một hành động được thực thi một cách tự động khi có một thay đổi một thuộc tính nào đó mà chúng ta chỉ định hoặc là cài đặt trước nó gần giống với khái niệm trigger trong SQL  hoặc batch trong lập trình mà hội dev hay bàn tán.

Ở phạm vi bài này mình sẽ hướng dẫn các bạn chạy job jenkins tự động khi có thay đổi reponsitory của github, và setup thời gian chạy job trong một khoảng thời gian nào đó trong ngày.

Build periodically: chạy job jenkins định kì theo một khoảng thời gian nào đó trong tuần tháng hay ngày tùy vào mục đích của mình phần setup này khá đơn giản chúng ta sẽ có 5 thuộc tính lần lượt như sau.

  1. MINUTES   phút trong một giờ (0-59)
  2. HOURS  giờ trong 1 ngày (0-23)
  3. DAY MONTH:  ngày trong tháng (0-31)
  4. MONTH tháng trong năm (1-12)
  5. DAYWEEK : ngày trong tuần (0-7) tương đương thứ 2 – chủ nhật

ok giờ mình muốn cứ mỗi 1h25 chiều mỗi ngày thì tự động chạy job thì mình sẽ setup như sau 25 13 * * * 5 thuộc tính trên chạy lần lượt nếu bạn muốn mọi ngày, mọi tháng, mọi năm thì chúng ta sẽ để những giá trị đó là kết quả đúng 13h25 thì job mình tự động chạy như hình

Vậy giờ mình muốn cứ mỗi sáng thứ 2 lúc 6h sáng thì job sẽ chạy để buid lại source cho dev đi làm còn có cái follow thì mình sẽ setup giá trị như sau 00 06 * * 0  với 00  đầu tiên là số phút 06 thứ 2 là số giờ tương đương 6h00 phút 2 giá trị * sau là ngày trong tháng và tháng trong năm mình để * có nghĩa là không quan tâm tới đó là  ngày nào trong tháng và tháng tháng nào trong năm, ở giá trị 0 thứ 3 có nghĩa là thứ 2 cứ thứ 2 6h là chạy. Nói tới đây chắc các bạn cũng đã hiểu cách thức cài đặt trigger theo thời gian chỉ định rồi nhưng như thế thì bị động quá bây giờ trong 1 team mọi người đều muốn mỗi lần push  code lên thì job sẽ tự động chạy thì làm thế nào. Với vấn đề này chúng ta sẽ dùng tới Poll SCM.

Poll SCM (poll Source Control Management): ở trigger này sẽ lắng nghe repository của chúng ta nếu có thay đổi thì sẽ tự động call mục này để chỉ định chạy job của chúng ta. về cách setup cũng tương tự như Build periodically cũng gồm 5 mục

  1. MINUTES   phút trong một giờ (0-59)
  2. HOURS  giờ trong 1 ngày (0-23)
  3. DAY MONTH:  ngày trong tháng (0-31)
  4. MONTH tháng trong năm (1-12)
  5. DAYWEEK : ngày trong tuần (0-7) tương đương thứ 2 – chủ nhật

bây giờ mình muốn cứ thay đổi repository thì tự động chạy job jenkins thì mình sẽ để giá trị là * * * * *

bây giờ mình sẽ thực hiện sửa đổi 1 file code bất kì và push lên github

push code lên git

 

Kết  quả job jenkins đã tự chạy lại với dòng thông báo như hình

vậy là mình đã giới thiệu xong 2 trigger cơ bản nhất của jenkins và được sử dụng nhiều nhất trong các dự án thực tế, còn một số trigger khác như lắng nghe jira, store.. thì các bạn tự tìm hiểu thêm nếu cần nhé.

Chúc các bạn thành công.!