inflearn logo
inflearn logo

Xây dựng CI/CD Pipeline sử dụng Jenkins

Khóa học này đề cập đến pipeline CI (Continuous Integration - Tích hợp liên tục) và CD (Continuous Deployment - Triển khai liên tục), một trong 4 yếu tố cốt lõi cấu thành nên ứng dụng cloud native (MSA, CI/CD, DevOps, Container). Thông qua khóa học này, bạn có thể hiểu và thực hành quy trình cần thiết để xây dựng và triển khai pipeline tự động hóa của riêng mình trên môi trường local và môi trường cloud bằng cách sử dụng Jenkins - công cụ CI/CD.

(4.7) 227 đánh giá

4,735 học viên

Độ khó Cơ bản

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

Jenkins
Jenkins
CI/CD
CI/CD
Ansible
Ansible
Kubernetes
Kubernetes
SonarQube
SonarQube
Jenkins
Jenkins
CI/CD
CI/CD
Ansible
Ansible
Kubernetes
Kubernetes
SonarQube
SonarQube

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.7

5.0

이학준

60% đã tham gia

Ngoài những bài giảng CI/CD thực tế thì cá nhân mình thấy nó rất bổ ích vì nó bao gồm những kiến ​​thức cơ bản nhất về Docker + Kubernetes. Và vì đây là bài giảng thể hiện tư duy của một người làm trong lĩnh vực này nên tuy cơ bản nhưng rất dễ hiểu và hữu ích. Tôi thực sự giới thiệu nó cho bất kỳ ai đang xem xét khóa học.

5.0

하보

27% đã tham gia

Xin chào. Tôi là nhân viên văn phòng của một công ty nọ, hôm nay tôi đã tham gia một bài giảng MSA ngoại tuyến. Ban đầu tôi không nhận ra thầy, nhưng khi nghe giọng nói và tên thầy, tôi rất ngạc nhiên vì nó quá giống với bài giảng và người hướng dẫn mà tôi đã từng nghe. Tôi không thể nói với bạn tại chỗ vì tôi rất xấu hổ, nhưng tôi muốn nói rằng tôi rất biết ơn vì tôi đã tham gia khóa học CI/CD khi chuẩn bị đi làm vì nó giúp ích rất nhiều. Cảm ơn bạn vì những bài giảng chất lượng và tôi mong chờ những bài giảng tiếp theo của bạn.

5.0

김재현

100% đã tham gia

Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon!

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

  • Bạn có thể học về quy trình build, packaging và triển khai ứng dụng bằng cách sử dụng Jenkins.

  • Thông qua pipeline tự động hóa CI/CD, bạn có thể triển khai ứng dụng đến nhiều môi trường khác nhau.

  • Bạn có thể học về quy trình triển khai ứng dụng trong môi trường Docker và Kubernetes, cũng như cách kiểm soát thông tin cấu hình của server bằng Ansible.

Xu hướng là Cloud Native! ☁️
Hãy xây dựng pipeline tự động hóa CI/CD..

📢 Vui lòng xác nhận trước khi học!

  • Tùy thuộc vào môi trường học tập, âm thanh của bài giảng có thể không đồng đều. Trong các bài học Phần 0~2 có thể nghe thấy tiếng ồn không liên tục, vì vậy vui lòng kiểm tra bài học [Xem trước] của khóa học trước khi đăng ký.

Có phải đây là mối băn khoăn của bạn không?

Nên triển khai sản phẩm đã hoàn thành phát triển lên server vận hành bằng cách nào?

Để triển khai sản phẩm đến nhiều môi trường khác nhau thì cần cấu hình môi trường triển khai như thế nào?

Môi trường ảo hóa container cần được cấu hình như thế nào để triển khai ứng dụng??

Làm thế nào để triển khai ứng dụng trong môi trường Kubernetes??


Cốt lõi của DevOps, CI/CD
Nhanh hơn và mạnh mẽ hơn với Jenkins!

Jenkins là gì?

Bạn có thể tự tay xây dựng pipeline tự động hóa bằng cách sử dụng Jenkins - công cụ tự động hóa hỗ trợ tích hợp liên tục (CI) và triển khai liên tục (CD).

Khóa học này giúp bạn hiểu về quy trình cần thiết để build và deploy ứng dụng đã phát triển bằng cách sử dụng Jenkins - công cụ tự động hóa CI/CD, đồng thời xây dựng pipeline tự động hóa. Thông qua 20 mẫu học tập được sử dụng trong khóa học, các học viên sẽ học về toàn bộ quy trình cần thiết để build - test - deploy ứng dụng đã hoàn thành phát triển. Ngoài ra, bạn có thể trực tiếp xây dựng quy trình deploy tự động hóa của riêng mình trên PC local và môi trường cloud.

Từ sau năm 2010, hệ thống IT đã phát triển với các từ khóa cốt lõi là Resilient + Anti-Fragile + Cloud Native. Văn hóa IT DevOps đã ra đời, kiến trúc cloud native được áp dụng, và hệ thống phải có khả năng linh hoạt đối phó trong mọi môi trường. Khi thiết kế ứng dụng, người ta bắt đầu phát triển bằng cách tách biệt domain theo phương thức kiến trúc microservices, và các dịch vụ được chia nhỏ từ vài chục đến hàng trăm hoặc hơn. Mỗi dịch vụ cấu thành ứng dụng đã chuyển sang môi trường có thể được phát triển, build và deploy độc lập. Trong môi trường DevOps, yêu cầu phản ánh nhanh chóng các cải tiến và vấn đề đối với dịch vụ. Đơn vị phát triển được cấu thành nhỏ hơn và việc deploy cũng phải diễn ra thường xuyên hơn.

Giờ đây, quy mô đã trở nên quá lớn để các nhà phát triển hoặc vận hành có thể thủ công xây dựng, đóng gói và triển khai từng dịch vụ trong số hàng chục đến hàng trăm dịch vụ cấu thành nên một ứng dụng. Bỏ qua độ phức tạp của chính hệ thống, việc xây dựng và triển khai từng dịch vụ cấu thành nên ứng dụng có thể trở thành một công việc lớn, và cũng có thể trở thành yếu tố gây ra khối lượng công việc nặng nề.

Ngày nay, việc xây dựng pipeline tự động hóa cho tích hợp liên tục (CI) và triển khai liên tục (CD) đối với các ứng dụng đã trở thành một lựa chọn không thể thiếu để phát triển ứng dụng trong môi trường cloud native. Toàn bộ quá trình từ việc lấy code từ Git, tiến hành build, thực thi test case, tạo package để triển khai, và deploy lên hệ thống vận hành đều được thực hiện bởi quy trình tự động hóa. Quy trình tự động hóa này cung cấp môi trường có thể build thường xuyên hơn, test thường xuyên hơn, và deploy thường xuyên hơn, từ đó cuối cùng có thể mang lại sự cải thiện chất lượng hệ thống.

Trong khóa học "Xây dựng CI/CD Pipeline với Jenkins"

Nếu hai khóa học trước "Phát triển RESTful WEB Services với Spring Boot" và "Phát triển ứng dụng Microservices (MSA) với Spring Cloud" đã cung cấp hướng dẫn để phát triển ứng dụng web và ứng dụng cloud native, thì trong khóa học này, bạn sẽ trải nghiệm quy trình xây dựng pipeline tự động hóa cần thiết để triển khai ứng dụng web được phát triển bằng Spring Framework + Spring Boot lên môi trường local hoặc môi trường cloud.

Thông qua khóa học này, các học viên có thể xây dựng pipeline tự động hóa để triển khai ứng dụng đã phát triển lên môi trường vận hành dựa trên sự hiểu biết về CI/CD, đồng thời có thể xây dựng quy trình triển khai của riêng mình.

Các khóa học nên xem cùng 📖

add_shortcode('course','325065,326544','list')


Khóa học này dành cho
những ai:

Những người đã từng
phát triển ứng dụng
web

Những người muốn
xây dựng pipeline
tự động hóa CI/CD của riêng mình

Người muốn triển khai
ứng dụng lên
môi trường ảo hóa container
trên server vận hành

Những người muốn
triển khai ứng dụng
lên môi trường cloud
thông qua pipeline
tự động hóa CI/CD

✅ Sau khi hoàn thành khóa học, bạn sẽ có thể làm được những điều sau.

  • Hiểu về tích hợp liên tục và triển khai liên tục.
  • Có thể xây dựng pipeline triển khai để thực hành trong môi trường local.
  • Bạn có thể xây dựng pipeline tự động hóa để triển khai ứng dụng do chính bạn viết hoặc ứng dụng web mẫu được cung cấp trong khóa học lên máy chủ web Tomcat và môi trường ảo hóa Docker.
  • Bạn có thể xây dựng môi trường triển khai của riêng mình dựa trên script mẫu được cung cấp trong khóa học.

Hãy xem nội dung học tập
nhé.

💡 Học các kiến thức cơ bản cần thiết để xây dựng pipeline tự động hóa CI/CD và có thể trực tiếp xây dựng quy trình triển khai thông qua code thực hành. Học viên có thể thực hành cả triển khai trên môi trường localtriển khai trên môi trường cloud phù hợp với môi trường mà mình đang sử dụng. Có thể xây dựng môi trường triển khai của riêng mình thông qua hơn 25 ví dụ thực hành có thể áp dụng và kiểm thử ngay trên môi trường vận hành muốn triển khai. *Hỗ trợ môi trường Windows, macOS(Intel Chip/Apple Silicon Chip)

Phần 1 - DevOps và CI/CD

  • Học về DevOps và CI/CD pipeline.

Phần 2 - Học CI/CD sử dụng Jenkins

  • Học cách cài đặt và triển khai Jenkins để xây dựng CI/CD pipeline.
  • Học cách triển khai lên máy chủ web Tomcat và môi trường ảo hóa Docker.

Phần 3 - Jenkins + Infrastructure as Code

  • Tìm hiểu về Infrastructure as Code và học cách sử dụng máy chủ Ansible (앤서블).
  • Học cách tích hợp Jenkins với máy chủ Ansible.

Section 4 - Tích hợp Jenkins + Ansible + Kubernetes

  • Tìm hiểu về cách cài đặt Kubernetes để thực hành.
  • Học cách triển khai bằng cách tích hợp Jenkins với Ansible server và Kubernetes.

Section 5 - Sử dụng Jenkins Nâng cao ① - Pipeline

  • Hiểu về chức năng Jenkins Pipeline.
  • Học cách triển khai dự án sử dụng Jenkins Pipeline script.

Section 6: Sử dụng Jenkins nâng cao ② - SonarQube, Multi nodes

  • Học cách triển khai trên Jenkins multi node.
  • Học cách tích hợp và sử dụng hệ thống SonarQube (Sonar Cube).

Section 7: Triển khai trên môi trường cloud thương mại

  • Cấu hình môi trường triển khai trên cloud thương mại.
  • Học cách cài đặt và triển khai các dịch vụ được sử dụng trong môi trường triển khai trên máy chủ AWS EC2.

Phần 8: Phần mềm cần thiết cho môi trường thực hành

  • Học cách cài đặt các phần mềm và công cụ được sử dụng trong khóa học. (Windows, MacOS)
  • Học cách tạo tài khoản để sử dụng dịch vụ đám mây và cách tạo máy chủ ảo.

💾 Lưu ý liên quan đến học tập

  • Khóa học này được thiết kế để bạn có thể học về nội dung và quy trình cần thiết để triển khai ứng dụng. (Vui lòng kiểm tra [Kiến thức tiên quyết] ở cuối trang giới thiệu và phần Q&A để biết kiến thức cần có trước khi học.)
  • Khóa học được thực hiện trên môi trường macOS, đồng thời cũng cung cấp các lệnh và script dành cho học viên sử dụng môi trường Windows.
  • Phần giới thiệu về cài đặt các phần mềm cần thiết cho khóa học được giải thích trong Section 9. Chúng tôi khuyến nghị bạn nên học Section 9 trước khi tiến hành thực hành.
  • 강의에서 사용한 스크립트 및 코드는 아래 Github에서 확인하실 수 있습니다. 
    • https://github.com/joneconsulting/jenkins_pipeline_script
    • https://github.com/joneconsulting/jenkins_cicd_script

Hỏi & Đáp 💬

Q. Để tham gia khóa học này, tôi cần có những kiến thức hoặc môn học tiên quyết nào?

Trong khóa học này, chúng tôi hầu như không giải thích về phần lập trình. Chúng ta sẽ học từ cơ bản về quy trình và phương pháp cần thiết để triển khai ứng dụng đã phát triển lên môi trường local hoặc môi trường cloud. Ngoài ra, nếu bạn có hiểu biết về mục đích sử dụng của dịch vụ quản lý cấu hình như Git, hiểu biết về ứng dụng web và dịch vụ ảo hóa thì sẽ giúp ích cho việc hiểu nội dung khóa học.

Q. Môi trường được sử dụng trong khóa học là gì?

Trong khóa học này, chúng tôi sử dụng môi trường local để triển khai ứng dụng do bạn phát triển hoặc ứng dụng web được cung cấp trong khóa học. Chúng tôi sử dụng Docker Desktop được cài đặt trên môi trường local để cấu hình các phần mềm và hệ thống cần thiết cho tự động hóa triển khai (Tomcat, SSH server, Kubernetes, v.v.), đồng thời cung cấp các ví dụ để bạn có thể xây dựng pipeline triển khai. Ngoài ra, ở phần cuối khóa học, chúng tôi cũng đề cập đến phần thực hành triển khai nội dung đã xây dựng trên môi trường local lên môi trường cloud. Thực hành cho khóa học này được thực hiện trên môi trường macOS, nhưng chúng tôi cũng cung cấp các lệnh và script dành cho người dùng Windows.

Câu hỏi: Nội dung về triển khai tự động CI/CD được đề cập đến mức độ nào?

Khóa học này cung cấp hơn 20 bài thực hành cho cả những người mới tiếp xúc với khái niệm tích hợp liên tục (CI) và triển khai liên tục (CD), cũng như các nhà phát triển muốn triển khai ứng dụng lên máy chủ vận hành thông qua CI/CD pipeline. Dựa trên nội dung đã học trong khóa học, bạn có thể xây dựng CI/CD pipeline để triển khai các ứng dụng web cơ bản và ứng dụng microservices. Các nội dung về sử dụng Jenkins với Kubernetes Cluster, giám sát liên tục và lập lịch liên tục đang được chuẩn bị thông qua "Khóa học nâng cao về triển khai tự động CI/CD (tên tạm)".

Bạn muốn biết bí quyết phát triển MSA
mà hơn 6.000 người đang theo học?
Đánh giá trung bình 4.8★Hơn 500 đánh giá tích lũy

Lộ trình phát triển ứng dụng Microservices với Spring Boot & Spring Cloud (Nhấp vào)

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

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

  • Người muốn sử dụng CI/CD để triển khai ứng dụng đã phát triển

  • Người muốn xây dựng môi trường build tự động để triển khai ứng dụng Spring Boot lên Docker và Kubernetes

  • Người muốn quản lý thông tin cấu hình của máy chủ mà ứng dụng đang vận hành bằng cách sử dụng IaC

  • Người muốn sử dụng Jenkins như một công cụ triển khai tự động CI/CD

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

  • Hiểu về việc build và deploy ứng dụng

  • Khái niệm về công nghệ ảo hóa container

  • Hiểu về ứng dụng web

Xin chào
Đây là Dowon Lee

30,178

Học viên

1,672

Đánh giá

1,373

Trả lời

4.8

Xếp hạng

8

Các khóa học

Tôi là một kỹ sư IT. Đã từng có lúc tôi băn khoăn không biết nên chọn từ nào để điền vào cột nghề nghiệp: "Nhân viên văn phòng?", "Nhà phát triển?" hay "Giảng viên?". Sau đó, tôi cảm thấy cụm từ "Kỹ sư IT" là tên gọi nghề nghiệp phù hợp nhất với mình, nên cho đến tận bây giờ, tôi vẫn luôn viết là "Kỹ sư IT" vào mục nghề nghiệp.

Nghề nghiệp là thứ thể hiện công việc của bản thân, và tôi luôn quan niệm rằng công việc nên là một điều gì đó thú vị và có ích. Mặc dù không phải ai cũng có thể sống và làm việc hoàn toàn theo ý muốn, nhưng tôi là một người yêu thích công việc mình đang làm và luôn khao khát làm tốt nó. Với tư cách là một nhà phát triển, giảng viên và chuyên gia tư vấn, dù đôi khi phải vất vả để bắt kịp các công nghệ IT mới liên tục ra mắt và thay đổi, tôi vẫn luôn muốn là một trong những người được tiếp cận, truyền bá và sử dụng chúng sớm hơn người khác dù chỉ một chút.

Lĩnh vực mà tôi đang quan tâm gần đây là tư vấn giáo dục trực tuyến. Và các công nghệ tôi quan tâm bao gồm Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kubernetes, v.v. Tôi hiện đang trực tiếp giảng dạy cũng như áp dụng những công nghệ này vào công việc thực tế. Tuy nhiên, vì đây là những chủ đề rất rộng lớn nên cho đến tận bây giờ tôi vẫn đang tiếp tục nghiên cứu và học hỏi.

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

 

 

  • Hiện tại) Giám đốc điều hành NJ One Company

  • Hiện tại) Giáo sư thỉnh giảng Khoa Bảo mật thông tin, Cao học Quốc tế về Thông tin, Đại học Dongguk

  • Cựu) Tư vấn viên JP Morgan Chase AMJ Tech (Nhật Bản)

  • Cựu) Kỹ sư trưởng bộ phận kinh doanh CMS tại Samsung SDS

 

 

Thêm

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

Tất cả

85 bài giảng ∙ (15giờ 29phú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á

Tất cả

227 đánh giá

4.7

227 đánh giá

  • pandabears님의 프로필 이미지
    pandabears

    Đánh giá 51

    Đánh giá trung bình 5.0

    5

    25% đã tham gia

    Tôi đã chờ đợi rất lâu rồi. Tôi sẽ xem kỹ bài giảng này và nín thở cho đến bài giảng WebFlux!!

    • kenneth
      Giảng viên

      Xin chào, tôi đang chuẩn bị một bài giảng về WebFlux. Chúng tôi sẽ hoàn thành nhanh chóng để có thể khai trương trong năm nay.

  • jaehyoni님의 프로필 이미지
    jaehyoni

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon! Chúa Dowon!

    • hyunybutterchip님의 프로필 이미지
      hyunybutterchip

      Đánh giá 4

      Đánh giá trung bình 4.8

      4

      78% đã tham gia

      Tôi nghĩ đây thực sự là một khóa học tốt để tìm hiểu Docker và CI/CD. Tôi giới thiệu nó, nhưng nó còn rất nhiều điều mong muốn. 1. Bạn thường xuyên nói sai. Bạn đang thay đổi cổng 8080 thành 8088? 2. Không có lời giải thích là có phần cài đặt và bài giảng riêng, dễ gây nhầm lẫn. 3. Bài giảng và bối cảnh vì các bài giảng quá tách biệt nên việc quay đi quay lại không thuận tiện. Bạn có thể nghĩ rằng nó sẽ hoạt động nếu bạn thiết lập trước mọi thứ, nhưng ngay cả khi bạn thiết lập nó, nó cũng không hiệu quả vì nếu bạn không sử dụng container, bạn sẽ lãng phí bộ nhớ và làm chậm tốc độ. 4. Tiến độ bị trì hoãn vì khoảng một nửa quy trình không thể được thiết lập ngay lập tức. Tất nhiên, tôi nghĩ việc xử lý sự cố là tốt, nhưng vì đây là một bài giảng cơ bản nên tôi nghĩ sẽ hiệu quả hơn nếu bạn học nhanh và khắc phục sự cố trong khi tự mình thực hành. 5. Hầu như không có phản hồi từ cộng đồng. Nhiều người gặp phải lỗi trong quá trình luyện tập nhưng có vẻ như bạn chỉ đang trả lời những câu hỏi đơn giản. Giá của khóa học không hề rẻ. Quá trình này thực sự tốt, nhưng nhìn chung tôi nghĩ nó cần được cập nhật.

      • kenneth
        Giảng viên

        Xin chào, đây là Lee Do-won. Hãy nhớ đưa ra phản hồi của bạn khi cập nhật khóa học! Chúng tôi sẽ phản ánh nó. Do tính chất của khóa học, việc chạy container VM thường đòi hỏi nhiều tài nguyên hoặc yêu cầu nhiều PC chủ. Vì vậy, nếu có thể, chúng tôi đã chuẩn bị các bài giảng liên quan đến phương pháp Dind hoặc các cài đặt VM riêng biệt để giảm bớt gánh nặng hoặc khó khăn cho sinh viên trong môi trường thực hành. Tất cả các tập lệnh và mã mẫu sử dụng trong bài giảng đều đã được thử nghiệm trên Windows 10, Windows 11, chip MacOS Inter (2018) và chip MacOS M1 (2022), nhưng chúng tôi biết rằng một số sinh viên gặp khó khăn khi chạy chúng. Trong tương lai, tôi nghĩ rằng những bài giảng liên quan đến cơ sở hạ tầng này nên cung cấp các bài kiểm tra trong môi trường đa dạng hơn hoặc tập trung vào các bài giảng về lập trình ngoài các bài giảng về cơ sở hạ tầng. ^^; Tôi cũng xin lỗi vì không thể kiểm tra và trả lời ngay các câu hỏi được nêu ra trong cộng đồng. Câu trả lời AI đã được thêm vào từ năm ngoái nên đúng là tôi không thể kiểm tra thông báo ngay hoặc không thể phản hồi ngay do bận dự án. Tuy nhiên, vì những người tham gia khóa học đều có hoàn cảnh cá nhân nên chúng tôi sẽ cố gắng hết sức để phản hồi kịp thời. Cảm ơn bạn đã phản hồi của bạn.

    • najh05283457님의 프로필 이미지
      najh05283457

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      Tôi chắc chắn đã có thể tìm hiểu Jenkins là gì và cách sử dụng nó. Như một phần thưởng, Docker và thậm chí cả k8. Ngày nay, có xu hướng sử dụng các bản dựng Gradle nhiều hơn các bản dựng Maven, vì vậy tôi nghĩ sẽ tốt hơn nếu các bản dựng Gradle làm ví dụ!

      • qkrehdrb08136616님의 프로필 이미지
        qkrehdrb08136616

        Đánh giá 3

        Đánh giá trung bình 5.0

        5

        9% đã tham gia

        Có ví dụ gradle nào không?

        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, kết thúc sau 7 ngày ngày

        7.618 ₫

        29%

        1.826.396 ₫