강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Devops & Infra

Xây dựng CI/CD Pipeline bằng Jenkins

Bài giảng này tập trung vào CI (Continuous Integration, tích hợp liên tục) và CD (Continuous Deployment, triển khai liên tục), hai trong bốn yếu tố cốt lõi cấu thành ứng dụng gốc đám mây (MSA, CI/CD, DevOps, Container). Thông qua bài giảng này, bạn sẽ hiểu và thực hành các quy trình cần thiết để xây dựng và triển khai đường ống tự động hóa riêng của mình trên môi trường cục bộ và môi trường đám mây bằng công cụ CI/CD Jenkins.

(4.7) 205 đánh giá

4,581 học viên

  • Dowon Lee
Jenkins
CI/CD
Ansible
Kubernetes
SonarQube

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

Dịch cái này sang tiếng Việt

  • Bạn có thể học về quá trình xây dựng, đóng gói và triển khai ứng dụng bằng Jenkins.

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

  • Bạn có thể học cách triển khai ứng dụng vào môi trường Docker và Kubernetes cũng như cách sử dụng Ansible để kiểm soát thông tin cấu hình của máy chủ.

Xu hướng bắt nguồn từ đám mây! ☁️
Xây dựng quy trình tự động hóa CI/CD .

📢 Vui lòng kiểm tra trước khi tham gia khóa học!

  • Tùy thuộc vào môi trường học tập của bạn, âm thanh bài giảng có thể không đồng đều. Bạn có thể nghe thấy những âm thanh ồn ào không liên tục trong các lớp học phần 0-2, vì vậy vui lòng kiểm tra lớp [Preview] trước khi tham gia lớp học.

Có lẽ đây không phải là mối quan tâm của bạn sao?

Tôi nên phân phối kết quả phát triển đã hoàn thành đến máy chủ vận hành như thế nào ?

Tôi nên định cấu hình môi trường triển khai như thế nào để triển khai kết quả cho nhiều môi trường?

Làm cách nào để định cấu hình ứng dụng của tôi với môi trường ảo hóa vùng chứa ?

Làm cách nào để triển khai ứng dụng của tôi lên môi trường Kubernetes ?


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

Jenkins?

Bạn có thể xây dựng quy trình tự động hóa của riêng mình bằng Jenkins, một công cụ tự động hóa giúp tích hợp liên tục (CI) và triển khai liên tục (CD).

Khóa học này là khóa học để hiểu các quy trình cần thiết để xây dựng và triển khai các ứng dụng được phát triển bằng Jenkins, một công cụ tự động hóa CI/CD và để xây dựng một quy trình tự động hóa. Thông qua 20 mẫu học tập được sử dụng trong khóa học, sinh viên tìm hiểu toàn bộ quy trình cần thiết để xây dựng, thử nghiệm và triển khai một ứng dụng được phát triển hoàn chỉnh. Ngoài ra, bạn có thể xây dựng quy trình triển khai tự động của riêng mình trên PC cục bộ và môi trường đám mây.

Từ những năm 2010, các hệ thống CNTT đã phát triển với Resilient + Anti-Fragile + Cloud Native làm từ khóa chính. Một nền văn hóa CNTT có tên DevOps đã xuất hiện, kiến ​​trúc dựa trên nền tảng đám mây được giới thiệu và các hệ thống phải có khả năng đáp ứng linh hoạt với mọi môi trường. Khi thiết kế ứng dụng, chúng tôi bắt đầu phát triển chúng bằng cách tách các miền bằng kiến ​​trúc microservice và các dịch vụ được chia thành vài chục hoặc hàng trăm hoặc nhiều hơn. Mỗi dịch vụ tạo nên ứng dụng đã được chuyển đổi sang môi trường nơi ứng dụng đó có thể được phát triển, xây dựng và triển khai riêng lẻ. Trong môi trường DevOps, các cải tiến và vấn đề với dịch vụ cần được phản ánh nhanh chóng. Các đơn vị phát triển phải nhỏ hơn và việc triển khai phải diễn ra thường xuyên hơn.

Giờ đây, nó đã đạt đến quy mô mà các nhà phát triển hoặc nhà điều hành không còn có thể xây dựng, đóng gói và triển khai hàng chục đến hàng trăm dịch vụ tạo nên một ứng dụng theo cách thủ công. Bất kể mức độ phức tạp của hệ thống, việc xây dựng và triển khai từng dịch vụ tạo nên ứng dụng có thể là một nhiệm vụ lớn và có thể là một khối lượng công việc đáng kể.

Ngày nay, việc xây dựng các quy trình tự động hóa để tích hợp liên tục (CI) và triển khai liên tục (CD) cho các ứng dụng đã trở thành một lựa chọn thiết yếu để phát triển ứng dụng trong môi trường dựa trên nền tảng đám mây. Toàn bộ quá trình lấy mã từ Git, thực hiện xây dựng, chạy các trường hợp thử nghiệm, tạo gói để triển khai và triển khai vào hệ điều hành đều được thực hiện bằng một quy trình tự động. Các quy trình tự động này cung cấp một môi trường nơi bạn có thể xây dựng thường xuyên hơn, kiểm tra thường xuyên hơn và triển khai thường xuyên hơn, cuối cùng dẫn đến chất lượng hệ thống được cải thiện.

Trong bài giảng “Xây dựng đường ống CI/CD bằng Jenkins”

Trong khi hai bài giảng trước, “ Phát triển dịch vụ WEB RESTful bằng Spring Boot ” và “ Ứng dụng microservice (MSA) được phát triển với Spring Cloud, ” đã cung cấp hướng dẫn phát triển ứng dụng web và ứng dụng gốc trên nền tảng đám mây, thì bài giảng này cung cấp hướng dẫn phát triển ứng dụng web và các ứng dụng gốc trên nền tảng đám mây + Trải nghiệm quá trình xây dựng quy trình tự động hóa cần thiết để triển khai một ứng dụng web được phát triển bằng Spring Boot lên môi trường cục bộ hoặc đám mây.

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

Một bài giảng hay để cùng xem 📖


Với những người này
Khuyến khích.

ứng dụng web
Bạn đã bao giờ phát triển
Ai đó có

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

trên máy chủ điều hành
ứng dụng
Trong môi trường ảo hóa container
Những người muốn phân phối

Tự động hóa CI/CD
qua đường ống
trong môi trường đám mây
ứng dụng
Những người muốn phân phối

✅ Sau khi tham gia khóa học bạn sẽ làm được những điều này.

  • Hiểu tích hợp liên tục và triển khai liên tục.
  • Bạn có thể xây dựng quy trình triển khai mà bạn có thể thực hành trong môi trường cục bộ của mình.
  • Bằng cách sử dụng ứng dụng của riêng bạn hoặc ứng dụng web mẫu được cung cấp trong khóa học, bạn có thể xây dựng quy trình tự động hóa có thể triển khai tới 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 tập lệnh mẫu được cung cấp trong bài giảng.

Nội dung học tập
Hãy kiểm tra nó.

💡 Bạn có thể tìm hiểu những kiến ​​thức cơ bản cần thiết để xây dựng quy trình tự động hóa CI/CD và tự mình xây dựng quy trình triển khai thông qua mã thực hành. Sinh viên có thể thực hành triển khai trong cả môi trường cục bộmôi trường đám mây tùy theo môi trường của chính họ. Bạn 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ể được áp dụng và thử nghiệm trực tiếp trong môi trường vận hành mà bạn 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

  • Tìm hiểu về quy trình DevOps và CI/CD.

Phần 2 - Học CI/CD bằng Jenkins

  • Tìm hiểu cách cài đặt và triển khai Jenkins để xây dựng quy trình CI/CD.
  • Tìm hiểu 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 + Cơ sở hạ tầng dưới dạng mã

  • Hiểu Cơ sở hạ tầng dưới dạng Mã và tìm hiểu cách sử dụng máy chủ Ansible.
  • Tìm hiểu cách tích hợp với máy chủ Jenkins và Ansible.

Phần 4 - Tích hợp Jenkins + Ansible + Kubernetes

  • Tìm hiểu cách cài đặt Kubernetes cho phòng thí nghiệm.
  • Tìm hiểu cách triển khai trong Jenkins bằng cách liên kết máy chủ Ansible và Kubernetes.

Phần 5 - Sử dụng Jenkins nâng cao ① - Pipeline

  • Hiểu các tính năng của Jenkins Pipeline.
  • Tìm hiểu cách triển khai một dự án bằng tập lệnh Jenkins Pipeline.

Phần 6: Sử dụng Jenkins nâng cao ② - SonarQube, Multi node

  • Tìm hiểu cách triển khai trên nhiều nút Jenkins.
  • Tìm hiểu cách sử dụng nó kết hợp với hệ thống SonarQube.

Phần 7: Triển khai lên môi trường đám mây thương mại

  • Định cấu hình môi trường triển khai của bạn trên đám mây thương mại.
  • Tìm hiểu 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 của bạn trên máy chủ AWS EC2.

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

  • Tìm hiểu cách cài đặt SW và các công cụ sử dụng trong bài giảng. (Windows, MacOS)
  • Tìm hiểu 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.

💾 Ghi chú học tập

  • Khóa học này được thiết kế để giúp bạn tìm hiểu về nội dung và quy trình cần thiết để triển khai một ứng dụng. (Để biết kiến ​​thức cần có trước khi tham gia khóa học, vui lòng xem [Kiến thức của người chơi] và Hỏi đáp ở cuối trang giới thiệu.)
  • Bài giảng được thực hiện trong môi trường macOS, đồng thời các lệnh và tập lệnh cũng được cung cấp cho sinh viên trong môi trường Windows.
  • Phần 9 giới thiệu cách cài đặt phần mềm cần thiết cho bài giảng. Chúng tôi khuyên bạn nên học Phần 9 trước khi tiến hành đào tạo thực hành.

Hỏi đáp 💬

Q. Những môn học hoặc kiến ​​thức tiên quyết nào cần phải có để tham gia khóa học?

Trong các bài giảng, các khía cạnh lập trình hiếm khi được giải thích. Tìm hiểu từ những điều cơ bản về các quy trình và phương pháp cần thiết để triển khai các ứng dụng đã phát triển trong môi trường cục bộ hoặc đám mây. Ngoài ra, nếu bạn hiểu rõ mục đích của các 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ì việc hiểu nội dung bài giảng sẽ rất hữu ích.

Q. Môi trường sử dụng trong bài giảng là gì?

Trong khóa học này, bạn đang sử dụng môi trường cục bộ để triển khai ứng dụng 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 định cấu hình SW và các hệ thống (Tomcat, máy chủ SSH, Kubernetes, v.v.) cần thiết để tự động hóa triển khai bằng cách sử dụng Docker Desktop được cài đặt trong môi trường cục bộ và cung cấp các ví dụ để xây dựng quy trình triển khai. Ngoài ra, nửa sau của bài giảng cũng đề cập đến thực hành bằng cách triển khai nội dung được xây dựng trong môi trường cục bộ trên môi trường đám mây. Mặc dù các bài tập cho bài giảng này được thực hiện trong môi trường macOS nhưng các lệnh và tập lệnh dành cho người dùng Windows cũng được cung cấp.

Câu hỏi: Nó bao gồm việc triển khai tự động hóa CI/CD ở mức độ nào?

Khóa học này cung cấp khoảng 20 mã thực hành có thể được thực hành bởi bất kỳ ai mới làm quen với các 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 đến máy chủ sản xuất thông qua quy trình CI/CD Chúng tôi đang cung cấp nó. Dựa trên những gì bạn học được trong khóa học, bạn có thể xây dựng quy trình CI/CD để triển khai các ứng dụng web cơ bản và ứng dụng vi dịch vụ. Công việc sử dụng Jenkins bằng 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 hóa CI/CD (tiêu đề dự kiến)”.

Hiện có hơn 6.000 người đang nghe
Bạn có tò mò về bí quyết phát triển MSA không?
Xếp hạng trung bình 4,8★ Đánh giá khóa học tích lũy 500+

Lộ trình phát triển ứng dụng microservice Spring Boot & Spring Cloud (Nhấp chuột)

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

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

  • 개발된 ứng dụng để triển khai bằng cách sử dụng CI/CD

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

  • IaC được sử dụng để quản lý thông tin cấu hình của máy chủ chạy ứng dụng

  • Những 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 việc xây dựng và triển khai ứng dụng

  • 컨테이너 ảo hóa là gì?

  • 웹 ứng dụng hiểu biết

Xin chào
Đây là

29,296

Học viên

1,560

Đánh giá

1,352

Trả lời

4.8

Xếp hạng

8

Các khóa học

저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.

직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다. 

최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.

머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.  

 

 

  • ) 엔제이원컴퍼니 대표 

  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수

  • ) JP Morgan Chase AMJ Tech consultant (일본)

  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

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ả

205 đánh giá

4.7

205 đánh giá

  • najh0528님의 프로필 이미지
    najh0528

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Jenkins가 뭔지, 어떻게 쓰는지 확실히 배울 수 있었습니다. 덤으로 도커, k8s까지도요. 요즘은 Maven 빌드보단 Gradle빌드를 더 많이 쓰는 추세인 만큼 Gradle 빌드가 예제였으면 더 좋았겠단 생각이 들긴 합니다!

    • hyun님의 프로필 이미지
      hyun

      Đánh giá 4

      Đánh giá trung bình 4.8

      4

      78% đã tham gia

      도커와 CI/CD를 학습하기에 정말 좋은 강의라고 생각합니다. 추천하지만 아쉬운 부분이 많았습니다. 1. 잘못 말하시는 게 잦다. 8080 포트를 8088로 바꿔 말하신다던지 2. 환경설정 섹션도 따로 있고 강의도 있다는 거에 대한 설명이 없어서 혼동을 준다. 3. 강의와 환경 설정 강의가 너무 따로 있다보니 왔다갔다하는 게 불편하다. 미리 다 세팅하면 되지 않냐 할 수도 있지만 세팅해 봤자 컨테이너 사용 안하면 메모리 낭비하고 속도만 떨어지기 때문에 비효율적이었습니다 4. 과정 중 절반 정도가 환경 설정이 바로 안되서 진도가 지체됨 트러블 슈팅도 물론 좋다고 생각하지만 기본 강의기때문에 빨리 학습하고 본인이 실습하면서 트러블슈팅하는 게 효율적이지 않나 생각합니다 5. 커뮤니티에에 답을 거의 안 해주심 실습하는 데 있어 많은 사람들이 에러를 겪고 있는데 단순 질문에만 답변을 달아주시는 것 같네요. 강의 가격이 결코 저렴한 편은 아닌데 말이죠 과정은 정말 좋으나 전반적으로 현행화가 필요할 것 같다고 생각합니다.

      • Dowon Lee
        Giảng viên

        안녕하세요, 이도원입니다. 피드백 주신 내용은 강의 업데이트 시 꼭! 반영하도록 하겠습니다. 강의 특성 상 컨테이너 실행 VM 실행에 많은 리소스가 필요하다거나 여러 Host PC가 필요한 경우가 많습니다. 따라서, 가능하면 수강생분들이 실습 환경에 대한 부담이나 어려움을 덜어드리고자 Dind 방식이나, 별도의 VM 설정 관련된 강의를 준비 했었습니다. 강의에서 사용된 모든 스크립트 및 샘플코드는 Windows10, Windows 11, MacOS Inter chip (2018), MacOS M1 chip (2022) 버전에서 테스트 했는데, 그래도 어떤 수강생분들은 실행에 어려움이 있다는 것도 알고 있습니다. 향후 이러한 인프라 관련 강의에는 조금 더 다양한 환경에서의 테스트를 제공하거나 인프라 강의 외 다른 프로그래밍 강의에 전념(?) 해야 겠는 생각을 하기도 했습니다. ^^; 커뮤니티 올라는 질문에도 바로바로 확인하지 못하고 답변 못 드린 점도 죄송스럽게 생각합니다. 작년부터 AI 답변을 추가되고 있어서, 바로바로 알림을 확인하지 못한 점이나 프로젝트에 밀려 답변을 바로 못한 점도 사실입니다. 그래도, 수강해주시는 분들에게는 개인적인 상황이 있기 때문에, 바로바로 응대에 드리도록 노력하겠습니다. 보내주신 피드백 감사합니다.

    • 김재현님의 프로필 이미지
      김재현

      Đánh giá 1

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원!

      • pandabear님의 프로필 이미지
        pandabear

        Đánh giá 51

        Đánh giá trung bình 5.0

        5

        25% đã tham gia

        오래 기다렸습니다. 이번 강의도 야무지게 보고 WebFlux 강의까지 숨 참겠습니다!!

        • Dowon Lee
          Giảng viên

          안녕하세요, WebFlux 강의를 준비 중에 있습니다. 올해 안에 오픈 될 수 있도록 서둘러 마무리 하겠습니다.

      • 최경민님의 프로필 이미지
        최경민

        Đánh giá 10

        Đánh giá trung bình 4.7

        3

        100% đã tham gia

        환경설정을 먼저 시작하고 나서 본강의를 시작하는 구조로 하는게 초보자들이 이해하기 쉬울듯하네요

        1.853.441 ₫

        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!