Series Jenkins #3: Chạy Job đầu tiên – Tự động hóa những việc nhỏ nhất (Freestyle Project)
Chào anh em! Chúc mừng anh em đã vượt qua ải đầu tiên: đưa thành công "bác quản gia" Jenkins về nhà ở Bài 2.
Bây giờ, nhìn vào giao diện Dashboard trống trơn, chắc hẳn anh em đang tự hỏi: "Rồi sao nữa? Làm gì tiếp theo đây?". Hôm nay, chúng ta sẽ giao cho bác quản gia nhiệm vụ đầu tiên. Trong thế giới của Jenkins, mỗi một nhiệm vụ như vậy được gọi là một Job.
Và để bắt đầu, chúng ta sẽ làm quen với loại Job cổ điển và dễ hiểu nhất: Freestyle Project.
1. Freestyle Project là gì?
Nghe chữ "Freestyle" (Tự do) là anh em đủ hiểu rồi đấy. Đây là loại dự án cơ bản nhất của Jenkins, cho phép bạn tự do làm mọi thứ thông qua giao diện click chuột (UI).
Bạn muốn kéo code từ Git? Click chọn. Bạn muốn chạy lệnh shell (Terminal)? Thêm một ô nhập lệnh. Bạn muốn gửi email sau khi chạy xong? Tick vào một ô checkbox. Mọi thứ được thiết kế rất trực quan, cực kỳ phù hợp cho những người mới bước chân vào con đường CI/CD.
Dù hiện nay các công ty lớn ít dùng Freestyle Project cho các luồng deploy phức tạp (họ chuyển sang dùng Pipeline - thứ chúng ta sẽ học ở bài sau), nhưng đây vẫn là bước đệm bắt buộc để bạn hiểu được cơ chế vận hành của Jenkins.
2. Thực hành: Tạo Job đầu lòng
Giả sử nhiệm vụ đầu tiên của chúng ta rất đơn giản: Yêu cầu Jenkins in ra một câu chào mừng và kiểm tra xem ngày giờ trên server đang là bao nhiêu. Nghe có vẻ "phèn", nhưng quy trình để chạy cái job nhỏ xíu này cũng y hệt như cách bạn deploy một hệ thống lớn thôi!
Bước 1: Khởi tạo Job
- Tại trang chủ Jenkins (Dashboard), nhìn sang menu bên trái, click vào New Item (Tạo mục mới).
- Ô nhập tên: Hãy gõ My-First-Job (Lưu ý kinh nghiệm xương máu: tên Job không nên chứa khoảng trắng, hãy dùng dấu gạch ngang hoặc viết liền).
- Chọn loại project: Click vào Freestyle project.
- Nhấn OK ở dưới cùng.
Bước 2: Cấu hình Job (Configuration)
Bạn sẽ được chuyển sang một màn hình với rất nhiều tab (General, Source Code Management, Build Triggers...). Đừng hoảng! Với nhiệm vụ hôm nay, chúng ta phớt lờ hết và kéo thẳng xuống phần Build Steps.
- Tại mục Build Steps, click vào nút Add build step.
- Chọn Execute shell (Vì chúng ta cài Jenkins trên nền Linux ở Bài 2, nên sẽ dùng shell của Linux. Nếu bạn cài trên Windows, hãy chọn Execute Windows batch command).
- Một ô nhập text hiện ra, đây chính là nơi bạn giao việc cho Jenkins. Hãy nhập đoạn mã sau:
echo "Bắt đầu chạy Job đầu tiên trên Jenkins!"
echo "Đang kiểm tra ngày giờ hệ thống..."
date
echo "Mọi thứ hoạt động hoàn hảo. Chào tạm biệt!"
- Nhấn Save (Lưu) ở dưới cùng.
Bước 3: Ra lệnh chạy (Build Now)
Bây giờ bạn đang ở trang chi tiết của My-First-Job. Để bắt Jenkins làm việc, hãy click vào nút Build Now (Xây dựng ngay) ở menu bên trái.
Nhìn xuống góc dưới bên trái, khu vực Build History, bạn sẽ thấy một vòng tròn nhấp nháy cùng dòng #1. Đó là Job của bạn đang chạy đấy! Vì lệnh của chúng ta quá nhẹ nên nó sẽ chạy xong trong nháy mắt và hiện ra một dấu tích màu xanh lá (Success).
Nếu hiện màu đỏ? Chúc mừng, Job của bạn đã tạch (Failed).
Bước 4: Đọc Console Output – Kỹ năng sinh tồn của DevOps
Dù xanh hay đỏ, bạn cũng phải biết Jenkins vừa làm cái gì ở hậu trường.
- Hãy click trực tiếp vào cái dấu #1 ở phần Build History.
- Chọn Console Output (Đầu ra bảng điều khiển).
Tại đây, bạn sẽ thấy toàn bộ nhật ký (log) quá trình làm việc của Jenkins. Nó hiển thị chính xác những dòng chữ chúng ta vừa echo và kết quả của lệnh date. Sau này, khi build code bị lỗi (thiếu thư viện, sai cú pháp...), Console Output chính là nơi duy nhất nói cho bạn biết lỗi nằm ở dòng nào để mà sửa.
3. Tóm lại
Tuyệt vời! Vậy là anh em đã tạo và chạy thành công Job đầu tiên. Hãy nhớ quy trình cốt lõi này: Tạo Job -> Cấu hình các bước (Build Steps) -> Chạy (Build) -> Xem Log (Console Output).
Nhược điểm của Freestyle Project: Như anh em thấy, mọi thứ đều cấu hình bằng cách click chuột trên giao diện. Điều này dẫn đến một vấn đề lớn: Nếu lỡ tay xóa mất Job, hoặc server Jenkins bị sập, toàn bộ cấu hình sẽ mất sạch. Bạn không thể "lưu" các cú click chuột đó vào Git để quản lý phiên bản được.
Để giải quyết bài toán này, giới DevOps đã sinh ra Jenkins Pipeline – biến toàn bộ quy trình click chuột thành những dòng code.
Và đó chính là chủ đề cực kỳ hấp dẫn của Bài 4: Kỷ nguyên của Code - Khởi môn với Jenkins Pipeline. Hẹn anh em ở bài tiếp theo nhé, chuẩn bị tinh thần gõ phím thật nhiều nào!
All rights reserved