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.

99 học viên đang tham gia khóa học này

Độ khó Cơ bản

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

Docker
Docker
Jenkins
Jenkins
Kubernetes
Kubernetes
CI/CD
CI/CD
backend
backend
Docker
Docker
Jenkins
Jenkins
Kubernetes
Kubernetes
CI/CD
CI/CD
backend
backend

Bạn sẽ nhận được điều này sau khi học.

  • Khung tư duy tự thiết kế chiến lược triển khai khác nhau cho từng môi trường

  • Một bộ hạ tầng GitOps của riêng tôi thực sự hoạt động

  • Khả năng trả lời có cơ sở cho các câu hỏi phỏng vấn và thực tế liên quan đến triển khai

Bạn không học riêng lẻ Jenkins và ArgoCD, mà học chiến lược CI/CD thực tế kết hợp chúng phù hợp với các môi trường dev·staging·production.😏

Cách tự thiết kế chiến lược triển khai khác nhau cho từng môi trường dev·staging·production

“Đã triển khai được, nhưng không biết đây có phải là cách phù hợp hay không.”

Bạn đã từng thiết lập CI/CD bằng Jenkins nhưng không chắc cách mình đang sử dụng có đúng hay không, hoặc đã học về ArgoCD và GitOps nhưng vẫn bối rối không biết nên áp dụng như thế nào vào dự án thực tế chưa?

Khóa học này không chỉ dừng lại ở việc học cách sử dụng Jenkins và ArgoCD riêng lẻ.

Bạn sẽ tìm hiểu cách đánh giá nên lựa chọn phương thức triển khai nào dựa trên đặc điểm của môi trường phát triển (dev), staging (staging) và production (production), cũng như cách kết hợp Jenkins và ArgoCD để thiết kế một quy trình CI/CD·GitOps thực sự hoạt động.

Sau khi hoàn thành toàn bộ khóa học, trên máy tính của bạn sẽ không chỉ có một ví dụ thực hành đơn giản, mà còn...

Một pipeline GitOps lai vận hành với dev·staging triển khai Push dựa trên Jenkins và production triển khai Pull dựa trên ArgoCD sẽ được hoàn thiện ở dạng thực sự hoạt động.


Đường ống hybrid

Đặc điểm của khóa học này

📌 Không học Jenkins và ArgoCD riêng lẻ

Trong hầu hết các khóa học CI/CD, khi học Jenkins thì chỉ sử dụng Jenkins, còn trong các khóa học về ArgoCD thì chỉ sử dụng ArgoCD.

Tuy nhiên, trong thực tế, thay vì chỉ sử dụng một công cụ duy nhất, người ta thường kết hợp nhiều phương pháp tùy theo đặc điểm của môi trường và tổ chức.

Trong khóa học này, chúng ta sẽ trực tiếp triển khai cấu trúc hybrid như sau.

  • Developer → Git → Jenkins → dev / staging

  • Developer → GitOps Repository → ArgoCD → production

Nói cách khác, kết nối các chiến lược khác nhau trong cùng một hệ thống: triển khai nhanh dựa trên Push ở dev·staging + triển khai GitOps dựa trên Pull, trong đó trạng thái được quản lý theo Git ở production .

📌 Hoàn thiện môi trường thực hành chỉ với Docker Desktop

Không cần môi trường đám mây riêng biệt như AWS, Azure hay GCP.

Trong môi trường Docker Desktop trên máy tính cá nhân

  • Kubernetes/

    Jenkins/

    ArgoCD/

    Argo Rollouts


Môi trường được tự cấu hình trực tiếp. Khóa học được thiết kế để bạn có thể trải nghiệm toàn bộ quy trình CI/CD và GitOps mà không phát sinh chi phí đám mây riêng biệt.

📌 Phát triển một dịch vụ Spring Boot duy nhất xuyên suốt đến cuối khóa học

Thay vì sử dụng ví dụ mới cho từng phần, chúng ta sẽ tiếp tục sử dụng dựa trên Spring Boot product-service duy nhất trong suốt khóa học.

Ban đầu, chúng ta bắt đầu với một API Spring Boot đơn giản, nhưng sau đó sẽ từng bước phát triển qua Docker Image → Kubernetes Deployment → Kustomize → Jenkins Pipeline → ArgoCD → GitOps → Canary Deployment → tự động rollback.

Do đó, mỗi khi xuất hiện công nghệ mới, bạn sẽ ít phải mất công tìm hiểu lại dự án ví dụ.

📌 Không chỉ triển khai mà còn đề cập đến vận hành và quyền hạn

Trong môi trường CI/CD thực tế, chỉ “triển khai được” thôi là chưa đủ.

  • Ai có thể triển khai lên môi trường phát triển,

  • Ai có thể thay đổi môi trường vận hành,

  • Cũng rất quan trọng là ai phải phê duyệt việc triển khai lên production.

Để thực hiện những công việc này, trong khóa học này,

  • Jenkins Role Strategy/

    Jenkins Credentials/

    Cổng phê duyệt/

    ArgoCD RBAC/

    AppProject

Chúng ta cũng sẽ cùng tìm hiểu đến cách thiết kế CI/CD như một phần của hệ thống vận hành, thay vì chỉ coi đó là công cụ tự động hóa.

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

lập trình viên backend

Nếu bạn có thể phát triển ứng dụng bằng Spring Boot nhưng vẫn luôn sử dụng pipeline do người khác thiết lập cho quy trình triển khai, thì khóa học này rất phù hợp với bạn.

Phụ trách hạ tầng·DevOps

Khuyến nghị cho những người cần xây dựng môi trường CI/CD cho dự án mới hoặc chuyển đổi môi trường triển khai hiện có, vốn tập trung vào Jenkins, sang phương thức GitOps.

Nhân viên vận hành CNTT

Bạn cũng sẽ tìm hiểu về cấu trúc RBAC và cách quản lý lịch sử triển khai của Jenkins và ArgoCD, qua đó nắm được cấu trúc cơ bản cần thiết để thảo luận và thống nhất các chính sách CI/CD.

Sau khi hoàn thành khóa học,

  • Bạn có thể thiết kế chiến lược triển khai phù hợp với từng môi trường dev/staging/production dựa trên các căn cứ rõ ràng.

  • Bạn có thể xử lý ở cấp độ thực tiễn từ Application của ArgoCD đến App of Apps, ApplicationSet và RBAC.

  • Bạn sẽ trực tiếp triển khai Canary và rollback tự động, đồng thời có kinh nghiệm ứng phó với các sự cố thực tế.

  • Bạn có thể tự xây dựng và áp dụng chiến lược triển khai tối thiểu, quy trình phê duyệt và kế hoạch rollback cho dự án của mình.

Bạn sẽ học những nội dung này.

Tự xây dựng pipeline CI/CD dựa trên Jenkins

Bạn sẽ xây dựng một CI/CD Pipeline thực tế, vượt xa việc chỉ chạy Job Jenkins đơn giản. Bạn sẽ hiểu Jenkins hoạt động như thế nào với vai trò là một CI/CD Orchestrator, chứ không chỉ đơn thuần là một “máy chủ build”.

ArgoCD hiểu nguyên lý hoạt động của GitOps

Câu hỏi quan trọng nhất trong GitOps là “Tại sao Git phải là nguồn chuẩn của môi trường vận hành?” . Nội dung được thiết kế để bạn có thể xây dựng cấu trúc dự án thực tế, thay vì chỉ dừng ở mức nhấn nút Sync trên giao diện ArgoCD.

Thiết kế GitOps lai Jenkins + ArgoCD

Thay vì sử dụng cùng một phương thức triển khai cho mọi môi trường, hãy áp dụng phương thức dev → Jenkins Push, staging → Jenkins Push, production → ArgoCD Pull .

Trải nghiệm Canary·Blue-Green và cả tự động rollback

Thực hành chuyển đổi sang Canary Deployment, Rollback và Blue-Green Deployment bằng Argo Rollouts.

Người tạo ra khóa học này

“Tôi nghĩ rằng kiến thức chỉ nằm trong đầu thì chưa phải là kiến thức.” Với suy nghĩ đó, tôi luôn cố gắng chắt lọc những kinh nghiệm và kiến thức nhỏ bé mình có, đồng thời giải thích chúng theo cách dễ hiểu hơn. Tôi tin rằng đây sẽ là một khóa học dễ tiếp thu hơn đối với những người quan tâm đến lĩnh vực LLM và AI trên nền tảng công nghệ Java và Spring Framework.

  • Dựa trên 26 năm kinh nghiệm giảng dạy, tư vấn và phát triển, tôi tiến hành các bài giảng với cách giải thích giúp người học hiểu được những kinh nghiệm và bí quyết thực tiễn.

  • Hiện tại với tư cách kiến trúc sư・kỹ sư: Tôi trực tiếp thiết kế và phát triển hệ thống đồ thị tri thức dựa trên GraphRAG cùng nền tảng AI doanh nghiệp.

    • 2023 ~ hiện tại: Tổng giám đốc Công ty NJ One (TNHH)


    • Hiện) Giáo sư danh dự Khoa An toàn thông tin, Trường Sau đại học Thông tin Quốc tế, Đại học Dongguk

    • Cựu chuyên viên tư vấn công nghệ AMJ tại JP Morgan Chase (Nhật Bản)

    • Trước đây) Kỹ sư phụ trách, Khối kinh doanh CMS, Samsung SDS

  • Triển khai các dự án AI/LLM trong lĩnh vực tài chính: Đã nhiều lần thực hiện các dự án trong lĩnh vực tài chính liên quan đến AI·LLM, tích lũy kinh nghiệm thực tế trong việc thiết kế và triển khai dịch vụ LLM ở lĩnh vực tài chính, nơi độ tin cậy và tính ổn định đặc biệt quan trọng.

  • Nhiều năm giảng dạy về MSA, cloud native và AI: Tôi đang giảng dạy trong các lĩnh vực Spring Boot, Spring Cloud, MSA, Kafka, Blockchain, Machine Learning, Deep Learning và DevOps.

  • Thiết kế chương trình giảng dạy cho doanh nghiệp và giáo trình: Tôi đã thiết kế chương trình giảng dạy và trực tiếp giảng dạy nhiều khóa học cho doanh nghiệp và bootcamp, bao gồm các khóa về Cloud/MSA/an ninh mạng/AI. Nguyên tắc của tôi là đưa kinh nghiệm thực hiện dự án thực tế vào bài giảng, thay vì chỉ dừng lại ở lý thuyết.

Lưu ý trước khi tham gia khóa học

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

  • Khóa học được hướng dẫn dựa trên MacOS (theo phiên bản Sequoia 15.7.4), tuy nhiên những người sử dụng hệ điều hành Windows cũng có thể dễ dàng theo dõi.

  • Trong khóa học, phần thực hành được tiến hành bằng Visual Studio Code dựa trên OpenJDK 17+.

  • Sử dụng Gradle làm công cụ build.

  • Việc cài đặt Jenkins và ArgoCD cần thiết cho phần thực hành sẽ được tiến hành trong khóa học.


Tài liệu học tập

  • Cung cấp tài liệu slide theo từng phần (tệp PDF)

  • Dự án ví dụ Spring Boot có thể chạy được

  • Cung cấp các tệp manifest của Kubernetes (cung cấp GitHub repo)

Kiến thức nền tảng và lưu ý

  • Không bắt buộc, nhưng nếu có hai điều dưới đây thì sẽ dễ dàng hơn nhiều.

    • Kinh nghiệm xây dựng một REST API đơn giản bằng Spring Boot (không bắt buộc, chủ yếu được sử dụng làm đối tượng triển khai thay vì tập trung vào bản thân mã nguồn)

    • Không ngại sử dụng các thao tác cơ bản với Git (clone, commit, push) và terminal

  • Chỉ cần bạn từng nghe qua các thuật ngữ rất cơ bản về Docker và Kubernetes (chẳng hạn như container, Pod) là đủ.

    • Vì chúng tôi sẽ cùng bạn tìm hiểu các khái niệm cần thiết và tiến hành cài đặt từ đầu trong Section 1~2, nên khóa học được thiết kế để ngay cả những người chưa từng sử dụng Kubernetes cũng có thể theo kịp. Tuy nhiên, nếu bạn hoàn toàn mới làm quen với Kubernetes, chúng tôi khuyến nghị bạn nên tìm hiểu sơ qua trước về các khái niệm cơ bản của việc điều phối container.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • &​​quot;Là một nhà phát triển backend, tôi có thể tạo đến Docker Image, nhưng mọi thứ sau Kubernetes thì khó.&​​quot;

  • "Những người phụ trách cơ sở hạ tầng và DevOps đang cân nhắc cách chuyển đổi dần từ môi trường CI/CD hiện tại sang GitOps"

  • Nhân sự vận hành CNTT cần hiểu về "phê duyệt triển khai/quyền vận hành/khôi phục sự cố/lịch sử thay đổi&quot

Cần biết trước khi bắt đầu?

  • Cách sử dụng Git cơ bản

  • Kinh nghiệm sử dụng terminal cơ bản

  • Kiến thức cơ bản về container Docker

Xin chào
Đây là Dowon Lee

Xác minh Inflearn

31,791

Học viên

1,779

Đánh giá

1,383

Trả lời

4.8

Xếp hạng

10

Các khóa học

Tôi là kỹ sư IT. Đã có lúc tôi băn khoăn không biết nên chọn từ nào trong mục nghề nghiệp: "nhân viên công ty?", "lập trình viên?" hay "giảng viên?" Sau đó, tôi nghĩ rằng cách gọi kỹ sư IT là tên nghề phù hợp với mình, nên cho đến nay trong mục nghề nghiệp tôi vẫn ghi là "kỹ sư IT".

Nghề nghiệp là điều thể hiện công việc của bản thân, còn công việc thì tôi luôn nghĩ rằng sẽ tốt biết bao nếu đó là một việc thú vị và có ích. Không phải ai cũng có thể sống bằng công việc mình mong muốn, nhưng tôi là người yêu thích công việc mình đang làm và muốn làm thật tốt. Trong thời gian đảm nhiệm vai trò của một nhà phát triển, giảng viên và tư vấn viên, tôi luôn phải tất bật chạy theo những công nghệ IT mới liên tục được ra mắt và thay đổi, nhưng dù vậy, tôi vẫn là một trong những người muốn được tiếp cận, truyền bá và sử dụng chúng dù chỉ sớm hơn người khác một chút.

Lĩnh vực tôi gần đây quan tâm là tư vấn đào tạo trực tuyến. Những công nghệ tôi quan tâm gồm Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes, v.v. Tôi cũng đang trực tiếp giảng dạy các công nghệ này và áp dụng chúng vào công việc. Tuy nhiên, vì đây là những chủ đề vô cùng rộng lớn nên đến nay tôi vẫn không ngừng học hỏi.

Người ta nói rằng những gì chỉ được lưu giữ trong đầu chưa phải là kiến thức thực sự. Tôi muốn chia sẻ kiến thức và kinh nghiệm mình có bằng nhiều phương thức khác nhau. Và tôi sẽ trở thành một kỹ sư CNTT không ngừng thử thách bản thân trong những lĩnh vực mới và với những công nghệ mới.

 

 

  • Hiện) CEO Công ty NJ One .

  • Hiện tại) Giáo sư đặc cách tại Khoa An ninh Thông tin, Trường Sau đại học Thông tin Quốc tế, Đại học Dongguk

  • Cựu) Chuyên gia tư vấn công nghệ AMJ của JP Morgan Chase (Nhật Bản)

  • Cựu) Kỹ sư phụ trách, Bộ phận kinh doanh CMS, Samsung SDS

 

 

Thêm

Chương trình giảng dạy

Tất cả

94 bài giảng ∙ (10giờ 40phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của Dowon Lee

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

30 ₫

50%

1.589.049 ₫