inflearn logo

CI/CD GitOps thực tiễn với Jenkins và ArgoCD

Vượt ra ngoài CI/CD truyền thống dựa trên Jenkins, khóa học còn bao quát cả việc triển khai GitOps bằng ArgoCD. Bạn sẽ trực tiếp thiết kế và triển khai chiến lược CI/CD·GitOps cho từng môi trường dev·staging·production bằng cách kết hợp Jenkins và ArgoCD. Bạn sẽ làm việc với Jenkins theo mô hình Push và ArgoCD theo mô hình Pull, trực tiếp so sánh hai phương thức trên cùng một cluster để hoàn thiện pipeline triển khai hybrid mang tính thực tiễn. Thực hành các kỹ thuật triển khai cốt lõi cần thiết cho vận hành, bao gồm Canary, Blue-Green, RBAC, quy trình phê duyệt, ứng phó sự cố và tự động rollback.

(5.0) 4 đánh giá

301 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

Docker
Docker
Jenkins
Jenkins
Kubernetes
Kubernetes
CI/CD
CI/CD
devops
devops
Docker
Docker
Jenkins
Jenkins
Kubernetes
Kubernetes
CI/CD
CI/CD
devops
devops

Tin tức

3 bài viết

  • kenneth님의 프로필 이미지

    Xin chào, tôi là Lee Do-won (Kenneth).

    Tôi đã mở khóa học miễn phí 「Giám sát chi phí Spring AI LLM — Tạo dashboard token chỉ với một dòng Actuator」.

    Tại sao tôi tạo khóa học này?

    Câu hỏi tôi nhận được nhiều nhất khi tư vấn các dự án AI cho doanh nghiệp là câu hỏi này.

    "Đã tạo chatbot rồi, nhưng mỗi tháng tốn bao nhiêu tiền?"

    Chi phí của dịch vụ LLM khác nhau theo từng yêu cầu, thời gian phản hồi có thể mất vài giây, và nguyên nhân thất bại nằm ngoài mã nguồn của chúng ta. Thế nhưng nhiều nhóm lại giám sát như đối với dịch vụ web thông thường, đến khi nhận được hóa đơn mới phát hiện ra vấn đề.

    0 lỗi, Health UP, HTTP 200. Mọi thứ trông có vẻ bình thường, nhưng sự cố khiến số token đầu vào tăng gấp nhiều lần lại không thể bị phát hiện bằng hệ thống giám sát hiện có.

    Bạn sẽ làm gì trong khóa học này

    • Chỉ với một dòng Actuator, trích xuất các chỉ số về token, độ trễ và lỗi mà Spring AI đã ghi lại.

    • Chỉ với một lần chạy docker compose, bạn có thể khởi chạy bảng điều khiển token Prometheus + Grafana.

    • Thay vì giá trị trung bình, dùng p95 để tìm ra “các yêu cầu đôi khi chậm”.

    • topK 4 → 20 Chỉ với một cài đặt, bạn sẽ trực tiếp tái hiện “sự cố trông có vẻ bình thường” khiến số token đầu vào tăng khoảng 4 lần và phát hiện nó bằng dashboard.

    Không cần sửa mã nghiệp vụ. Chỉ cần thêm một dòng dependency và vài dòng cấu hình là được.

    Thông tin khóa học

    • Thời lượng: khoảng 1 giờ (bao gồm thực hành)


    • Môi trường thực hành: JDK 21 trở lên, Docker Desktop, khóa API OpenAI hoặc Ollama (miễn phí)

    • Tài liệu cung cấp: dự án thực hành, docker-compose, JSON bảng điều khiển Grafana, tập lệnh tạo tải (bash · PowerShell), giáo trình theo từng bước

    Tên metric tuân theo tiêu chuẩn Spring AI, nên bạn có thể gắn nguyên dashboard thực hành vào dự án của mình. Ngay cả khi không có API key, bạn vẫn có thể theo học đến cuối bằng Ollama.

    Khóa học này phù hợp với những người

    • Các nhà phát triển backend đang xây dựng PoC hoặc chatbot nội bộ bằng Spring AI và chuẩn bị đưa vào vận hành

    • Dành cho những ai đã từng sử dụng Actuator và Prometheus nhưng không biết cần theo dõi điều gì trong dịch vụ LLM

    • Trưởng nhóm/kiến trúc sư cần báo cáo chi phí triển khai LLM bằng các con số

    Nếu muốn đi sâu hơn

    Số token được chuyển đổi thành chi phí tính bằng won, cảnh báo chi phí tăng đột biến và truy vết phân tán (Jaeger) để xem từng bước của một yêu cầu sẽ được tiếp tục trình bày trong Phần 16 của 『Phát triển dịch vụ LLM thực chiến dành cho lập trình viên Spring』.

    👉 Phát triển dịch vụ LLM thực chiến dành cho lập trình viên Spring


    Nếu gặp phần nào vướng mắc trong quá trình học, hãy để lại câu hỏi trên bảng hỏi đáp. Chúng tôi hoan nghênh cả những câu hỏi như "Tôi đã làm theo nhưng biểu đồ lại trống".

    Những ý kiến bạn để lại trong phần đánh giá khóa học sẽ là nguồn động lực lớn khi chúng tôi xây dựng các bài giảng tiếp theo.

    Xin cảm ơn.
    Trân trọng, Lee Do-won

    0
  • kenneth님의 프로필 이미지

    Xin chào. Chúng tôi đã bổ sung một bài giảng bổ sung mới vào khóa học Phát triển dịch vụ LLM thực tế dành cho lập trình viên Spring (Phần 1). Nội dung hướng dẫn tích hợp mô hình ra quyết định Jev của TypeSafe AI mới được công bố vào ứng dụng Spring Boot, với thời lượng khoảng 1 giờ.

    Tại sao thêm nội dung này
    Trong Section 4, chúng ta đã tìm hiểu cách nhận phản hồi của LLM dưới dạng đối tượng Java bằng entity(), cũng như cạm bẫy trong thực tế khi mô hình bọc JSON trong code fence khiến việc phân tích cú pháp bị lỗi. Dù yêu cầu bằng prompt hay tự động hóa bằng entity(), vẫn còn một hạn chế: cuối cùng, đó vẫn là cách "nhờ" LLM trả về đúng định dạng.
    Jev có cách tiếp cận khác. Thay vì viết câu trả lời, nó chọn một đáp án trong số các lựa chọn được định trước và trả về cùng với xác suất. Nói cách khác, định dạng được đảm bảo một cách có cấu trúc. Khi xử lý cùng một đầu vào theo hai cách, chúng ta sẽ hiểu rõ hơn nhiều về những điều cần cân nhắc khi thiết kế "đầu ra có cấu trúc". Vì vậy, tôi đã tổng hợp nội dung này như phần tiếp nối của Section 4.

    Bạn sẽ học gì

    1. Khái niệm về các mô hình Jev và System One: ý nghĩa của việc trả về "quyết định có kiểu dữ liệu được xác định" thay vì văn bản

    2. Sự khác biệt giữa LLM và Jev: câu trả lời tự luận và câu trả lời trắc nghiệm, những việc mỗi bên làm tốt và không làm tốt

    3. Ba loại câu hỏi (choice · score · noul) và cấu trúc yêu cầu /v1/systemone

    4. Gọi từ Spring: gọi API Jev bằng RestClient và tạo các lựa chọn bằng enum Java để chuyển đổi phản hồi một cách an toàn về kiểu dữ liệu

    5. Trình diễn so sánh: phân tích cùng một bài đánh giá phim lần lượt bằng entity() và Jev để so sánh tốc độ, lỗi định dạng, độ tin cậy và tính nhất quán

    Tài liệu được cập nhật cùng nhau

    • Mã ví dụ Phần 4 (ch4): thêm 2 API phân tích bài đánh giá (/api/movies/review/llm, /api/movies/review/jev) và JevClient

    • Slide bài giảng bổ sung và tài liệu giảng dạy

    • Kịch bản kiểm thử so sánh: review-compare.sh dành cho macOS, review-compare.ps1 dành cho Windows

    Điểm cần biết trước

    • Jev không phải là một tính năng của Spring AI mà là một dịch vụ bên ngoài riêng biệt do TypeSafe AI cung cấp. Trong bài giảng, chúng ta cũng gọi trực tiếp bằng RestClient, chứ không phải ChatClient của Spring AI.

    • Hiện tại Jev đang ở giai đoạn truy cập sớm, vì vậy việc cấp khóa API có thể phải chờ. Trong mã ví dụ, tính năng Jev mặc định bị tắt (jev.enabled=false), nên ngay cả khi không có khóa, bạn vẫn có thể tiếp tục các bài thực hành như bình thường. Nếu chưa có khóa, hãy xem phần trình diễn trong video và tập trung theo dõi các khái niệm cùng mã nguồn.

    • Vì đây là dịch vụ mới ra mắt nên giá cả hoặc API có thể thay đổi sau này. Nếu có thay đổi, chúng tôi sẽ thông báo lại qua tin tức mới.

    📌 Truy cập khóa học ngay: https://inf.run/VVpnV

    Nếu trong quá trình học các bài giảng được bổ sung, bạn có bất kỳ thắc mắc nào hoặc gặp khó khăn khi thực hành, hãy thoải mái để lại bình luận. Chúng tôi sẽ tiếp tục bổ sung những nội dung có thể áp dụng ngay vào công việc thực tế.

    0
  • kenneth님의 프로필 이미지

    Xin chào, tôi là Lee Do-won.


    "Tôi đã thử tạo pipeline Jenkins, nhưng mới chỉ nghe nói về các khái niệm như ArgoCD hay GitOps."

    "Tôi thấy bối rối không biết nên thiết kế việc triển khai như thế nào cho từng môi trường dev, staging và production."


    Dành cho những ai đang trăn trở về những vấn đề này, chúng tôi đã mở khóa học 「Học GitOps CI/CD thực chiến với Jenkins và ArgoCD」 trên Inflearn.


    Khóa học này khác biệt ở những điểm sau


    • Cùng tìm hiểu cả GitOps dựa trên ArgoCD, vượt xa CI/CD truyền thống dựa trên Jenkins.

    • Trực tiếp so sánh phương thức Push (Jenkins) và Pull (ArgoCD) trên cùng một cụm. Khi ai đó thay đổi thủ công bằng kubectl, bạn sẽ tận mắt thấy một bên giữ nguyên thay đổi còn bên kia tự động khôi phục, đồng thời trực tiếp cảm nhận sự khác biệt trong cách rollback và kiểm tra lịch sử triển khai.

    • Kết hợp hai phương thức để xây dựng từ đầu đến cuối một pipeline triển khai kết hợp, trong đó dev·staging sử dụng Jenkins Push, còn production sử dụng ArgoCD Pull (phê duyệt Sync thủ công).

    • Thực hành các kỹ thuật triển khai cốt lõi cần thiết cho vận hành, từ Canary, Blue-Green, RBAC, quy trình phê duyệt, ứng phó sự cố đến tự động rollback.


    Môi trường thực hành

    Chỉ cần Docker Desktop là có thể thực hiện. Có thể sử dụng trên cả Windows và macOS, không cần tài khoản đám mây như AWS hay phát sinh thêm chi phí.


    Khóa học này phù hợp với những người sau


    • Kỹ sư backend và hạ tầng đã từng sử dụng Jenkins nhưng mới làm quen với ArgoCD/GitOps

    • Những người muốn chuyển việc triển khai Kubernetes từ thao tác thủ công bằng kubectl apply sang tự động hóa

    • Những người phụ trách DevOps·SRE đang cân nhắc các yêu cầu vận hành như phê duyệt triển khai, rollback và theo dõi kiểm toán


    Tổng thời lượng học khoảng 10~11 giờ, đồng thời cung cấp tài liệu thực hành và hướng dẫn khắc phục sự cố.


    👉 Xem khóa học: https://inf.run/dEjZE

    Nếu có điều gì thắc mắc, hãy thoải mái để lại bình luận hoặc đăng trong mục Q&A của khóa học nhé!

    0

1.566.259 ₫