Thumbnail
지식공유자의 깜짝할인 중(D-4)
BEST
개발 · 프로그래밍 데브옵스 · 인프라

Jenkins를 이용한 CI/CD Pipeline 구축 대시보드

(4.7)
110개의 수강평 ∙  3,399명의 수강생
10% 88,000원 79,200원

월 15,840원

5개월 할부 시
지식공유자: Dowon Lee
총 83개 수업 (14시간 54분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[데브옵스 · 인프라, 백엔드] 강의입니다.

본 강의는 클라우드 네이티브 애플리케이션을 구성하는 4가지 핵심 요소(MSA, CI/CD, DevOps, Container) 중 하나인 CI(Continuous Integration, 지속적인 통합)과 CD(Continuous Deployment, 지속적인 배포) 파이프라인에 대한 다루는 강의입니다. 본 강의를 통해 CI/CD 도구인 Jenkins를 이용하여 로컬 환경과 클라우드 환경에 자신만의 자동화 파이프라인을 구축하고, 배포하는 데에 필요한 과정을 이해하고 실습해 볼 수 있습니다.

✍️
이런 걸
배워요!
Jenkins를 이용하여 애플리케이션의 빌드와 패키징, 배포 과정에 대해 학습할 수 있습니다.
CI/CD 자동화 파이프라인을 통해, 다양한 환경에 애플리케이션을 배포할 수 있습니다.
Docker와 Kubernetes 환경에 애플리케이션을 배포하는 과정과 Ansible을 이용하여 서버의 구성 정보를 제어하는 방법에 대해서 학습할 수 있습니다.

대세는 클라우드 네이티브! ☁️
CI/CD 자동화 파이프라인을 구축해 보세요.

📢 수강 전 확인해주세요!

  • 학습 환경에 따라 강의 오디오가 고르지 않을 수 있습니다. 섹션 0~2 수업 중 간헐적인 노이즈 음향이 들릴 수 있으니, 수강 전 강의 [미리보기] 수업을 확인해 주시기 바랍니다.

혹시, 여러분의 고민은 아닌가요?

개발을 완료한 결과물을 운영 서버에 어떤 방식으로 배포해야 하나요?

여러 환경에 결과물을 배포하려면 배포 환경을 어떻게 구성해야 하나요?

컨테이너 가상화 환경으로 애플리케이션을 구성하려면 어떻게 해야 하나요?

쿠버네티스 환경에 애플리케이션을 배포하려면 어떻게 해야 하나요?


데브옵스의 핵심, CI/CD 
Jenkins로 더 빠르고 강력하게!

젠킨스(Jenkins)?

지속적 통합(CI) · 지속적 배포(CD)를 도와주는 자동화 도구, Jenkins를 이용해 자동화 파이프라인을 직접 구축해볼 수 있습니다.

본 강의는 CI/CD 자동화 도구인 Jenkins를 이용하여 개발된 애플리케이션을 빌드하고 배포하는 데에 필요한 프로세스에 대해 이해하고, 자동화 파이프라인을 구축해 보는 과정입니다. 강의에서 쓰이는 20개의 학습 샘플을 통해, 수강생 여러분은 개발이 완료된 애플리케이션을 빌드 - 테스트 - 배포하는 데 필요한 전 과정에 대해 학습합니다. 또한, 로컬 PC와 클라우드 환경에 자신만의 자동화 배포 프로세스를 직접 구축해 볼 수 있습니다.

2010년대 이후 IT 시스템은 Resilient + Anti-Fragile + Cloud Native를 핵심 키워드로 발전해 왔습니다. DevOps라는 IT 문화가 생겨났고, 클라우드 네이티브 아키텍처가 도입되었으며, 시스템은 어떠한 환경에서도 유연성을 가지고 대처할 수 있어야 했습니다. 애플리케이션을 설계할 때 마이크로서비스 아키텍처 방식으로 도메인을 분리하여 개발하기 시작했고, 서비스는 적게는 수십 개에서 많게는 수백 개 이상으로 쪼개지기도 했습니다. 애플리케이션을 구성하는 각각의 서비스들은 개별적으로 개발, 빌드, 배포될 수 있는 환경으로 전환되었습니다. DevOps 환경에서는 서비스에 대한 개선 및 문제점을 빠르게 반영하도록 요구되었습니다. 개발 단위가 더 작게 구성되고, 배포도 더 자주 진행되어야 했습니다. 

이제는 개발자나 운영자가 하나의 애플리케이션을 구성하는 수십~수백 개의 서비스들을 더이상 일일이 빌드하고 패키징하고, 배포하는 작업을 수작업으로 처리할 수 없는 규모가 되었습니다. 시스템 자체의 복잡성을 떠나 애플리케이션을 구성하는 각각의 서비스를 빌드하고 배포하는 작업이 하나의 커다란 업무가 될 수도 있고, 작업 로드가 심하게 걸리는 요소가 되어버리기도 합니다.

오늘날 애플리케이션에 대한 지속적인 통합(CI)과 지속적인 배포(CD)를 위한 자동화 파이프라인을 구축하는 일은 클라우드 네이티브 환경에서 애플리케이션을 개발하기 위한 필수 불가결한 선택이 되었습니다. Git으로부터 코드를 가져오고, 빌드를 진행하고, 테스트 케이스를 실행하며, 배포를 위한 패키지를 만들고, 운영 시스템에 배포하는 전 과정이 자동화 프로세스에 의해 진행됩니다. 이러한 자동화 프로세스는 더 자주 빌드하고, 더 자주 테스트하고, 더 자주 배포할 수 있는 환경을 제공함으로써 결국에는 시스템 품질의 향상을 가져올 수 있게 됩니다.

“Jenkins를 이용한 CI/CD Pipeline 구축” 강의에서는

지난 “Spring Boot를 이용한 RESTful WEB Services 개발”과 “Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)” 두 편의 강의를 통해 웹 애플리케이션과 클라우드 네이티브 애플리케이션을 개발할 수 있는 가이드를 제공하였다면, 이번 강의에서는 Spring Framework + Spring Boot로 개발된 웹 애플리케이션을 로컬 환경이나, 클라우드 환경에 배포하기 위해 필요한 자동화 파이프라인을 구축해보는 과정을 경험해 봅니다.

이번 강의를 통해 수강생 여러분은 CI/CD에 대한 이해를 바탕으로 개발된 애플리케이션을 운영 환경에 배포하기 위한 자동화 파이프라인을 구축하고, 자신만의 배포 프로세스를 구축해 볼 수 있습니다.

함께 보면 좋은 강의 📖


이런 분들께 
추천합니다.

웹 애플리케이션을 
개발해 본 적이 
있는 분 

자신만의 CI/CD 
자동화 파이프라인을 
구축하려는 분 

운영 서버에 
애플리케이션을 
컨테이너 가상화 환경에 
배포하려는 분 

CI/CD 자동화 
파이프라인을 통해 
클라우드 환경에 
애플리케이션을 
배포하려는 분 

✅ 수강 후, 이런 것들을 할 수 있게 됩니다. 

  • 지속적인 통합과 지속적인 배포에 대해 이해합니다.
  • 로컬 환경에서 실습할 수 있는 배포 파이프라인을 구축해 볼 수 있습니다.
  • 자신이 직접 작성한 애플리케이션 또는 강의에서 제공되는 샘플 웹 애플리케이션을 이용하여 Tomcat 웹 서버와 Docker 가상화 환경에 배포할 수 있는 자동화 파이프라인을 구축할 수 있습니다.
  • 강의에서 제공되는 예제 스크립트를 바탕으로 자신만의 배포 환경을 구축할 수 있습니다.

학습 내용을 
확인해보세요.

💡 CI/CD 자동화 파이프라인 구축에 필요한 기본적인 내용을 학습하고, 실습 코드를 통해 직접 배포 프로세스를 구축해 볼 수 있습니다. 수강생 분들은 자신이 사용하는 환경에 맞게 로컬 환경에서의 배포클라우드 환경에서의 배포를 모두 실습해 볼 수 있습니다. 배포하고자 하는 운영 환경에 바로 적용해서 테스트해 볼 수 있는 25여개의 실습 예제를 통해 자신만의 배포 환경을 구축해 볼 수 있습니다. *Windows, macOS(Intel Chip/Apple Silicon Chip) 환경 지원

Section 1 - DevOps와 CI/CD

  • DevOps와 CI/CD 파이프라인에 대해 학습합니다.

Section 2 - Jenkins를 이용한 CI/CD 학습

  • CI/CD 파이프라인 구축을 위한 Jenkins를 설치, 배포하는 방법을 학습합니다.
  • Tomcat(톰캣) 웹 서버와 Docker(도커) 가상화 환경에 배포하는 방법을 학습합니다.

Section 3 - Jenkins + Infrastructure as Code

  • Infrastructure as Code에 대해 이해하고 Ansible(앤서블) 서버를 사용하는 방법에 대해 학습합니다. 
  • Jenkins와 Ansible 서버와 연동하는 방법에 대해 학습합니다.

Section 4 - Jenkins + Ansible + Kubernetes 연동

  • 실습을 위한 Kubernetes를 설치하는 방법에 대해 학습합니다. 
  • Jenkins에서 Ansible 서버와 Kubernetes를 연동하여 배포하는 방법에 대해 학습합니다.

Section 5 - Advanced Jenkins 사용 ① - Pipeline

  • Jenkins Pipeline 기능에 대해 이해합니다. 
  • Jenkins Pipeline 스크립트를 이용한 프로젝트를 배포하는 방법에 대해 학습합니다.

Section 6: Advanced Jenkins 사용 ② - SonarQube, Multi nodes

  • Jenkins 멀티 노드에서 배포하는 방법에 대해 학습합니다. 
  • SonarQube(소나큐브) 시스템과 연동하여 사용하는 방법에 대해 학습합니다.

Section 7: 상용 클라우드 환경에 배포하기

  • 상용 클라우드에 배포 환경을 구성합니다.
  • AWS EC2 서버에 배포 환경에 사용되는 서비스를 설치하고 배포하는 방법에 대해 학습합니다.

Section 8: 실습 환경을 위한 필수 SW

  • 강의에서 사용된 SW, 도구에 대해 설치하는 방법에 대해 학습합니다. (Windows, MacOS)
  • 클라우드 서비스를 사용하기 위한 계정 생성하는 방법과 가상 서버를 생성하는 방법에 대해 학습합니다.

💾 학습 관련 참고 사항

  • 본 강의는 애플리케이션을 배포하는 데에 필요한 내용과 과정에 대해 학습할 수 있도록 구성되어 있습니다. (수강에 필요한 사전 지식은 소개페이지 하단 [선수 지식] 및 Q&A를 확인해주세요.)
  • 강의는 macOS 환경에서 진행되며, Windows 환경의 수강생들을 위한 명령어 및 스크립트도 함께 제공하고 있습니다.

Q&A 💬

Q. 강의를 수강하기 위해 필요한 선수 과목이나 지식에는 어떤 것이 있나요?

강의에서는 프로그래밍적인 부분에 대한 설명을 거의 하지 않습니다. 개발된 애플리케이션을 로컬환경이나 클라우드 환경에 배포하는 데 필요한 과정과 방법에 대해 기초부터 학습합니다. 추가로 Git과 같은 형상관리 서비스의 용도, 웹 애플리케이션에 대한 이해, 가상화 서비스에 대한 이해를 가지고 계시다면, 강의 내용을 이해하는 데에 도움이 될 것 같습니다.

Q. 강의에서 사용되는 환경은 어떻게 되나요?

본 강의에서는 자신이 개발한 애플리케이션 또는 강의에서 제공되는 웹 애플리케이션을 배포하기 위해 로컬 환경을 사용하고 있습니다. 로컬 환경에 설치 된 Docker Desktop을 이용하여 배포 자동화에 필요한 SW나 시스템(Tomcat, SSH 서버, Kubernetes 등)을 구성하고 있으며, 배포 파이프라인을 구축할 수 있도록 예제를 제공하고 있습니다. 추가로, 강의 후반부에서는 로컬 환경에 구축된 내용을 클라우드 환경에 구축하여 실습하는 부분도 다루고 있습니다. 본 강의에 대한 실습은 macOS 환경에서 진행되고 있지만, Windows 사용자를 위한 명령어 및 스크립트도 함께 제공하고 있습니다.

Q. CI/CD 자동화 배포에 대한 내용을 어느 수준까지 다루나요?

본 강의는 지속적인 통합(CI)과 지속적인 배포(CD)라는 개념을 처음 접하시는 분부터, CI/CD 파이프라인을 통해 애플리케이션을 운영 서버에 배포하려는 개발자까지 실습해 볼 수 있는 20여개의 실습 코드를 제공하고 있습니다. 강의에서 학습한 내용을 바탕으로 기본적인 웹 애플리케이션과 마이크로서비스 애플리케이션을 배포하기 위한 CI/CD 파이프라인을 구축할 수 있습니다. Kubernetes Cluster를 이용한 Jenkins의 사용이나 지속적인 모니터링, 지속적인 스케줄링을 위한 작업은 "CI/CD 자동화 배포 심화과정(가제)"을 통해 준비 중입니다.

지금 6,000명 이상이 듣고 있는 
MSA 개발의 노하우가 궁금하다면?
평균 별점 4.8★ 누적 수강평 500+

Spring Boot & Spring Cloud 마이크로서비스 애플리케이션 개발 로드맵 (클릭)

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
개발된 애플리케이션을 배포하기 위한 CI/CD를 이용하려는 사람
Spring Boot 애플리케이션을 Docker와 Kubernetes에 배포하기 위해 자동화 빌드 환경을 구축하려는 사람
IaC를 이용하여 애플리케이션이 운영되는 서버의 구성정보를 관리하려는 사람
CI/CD 자동화 배포 도구로써 Jenkins를 사용하려는 사람
📚
선수 지식,
필요할까요?
애플리케이션의 빌드와 배포에 대한 이해
컨테이너 가상화 기술에 대한 개념
웹 애플리케이션에 대한 이해

안녕하세요
Dowon Lee 입니다.
Dowon Lee의 썸네일

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

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

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

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

 

 

  • ) 엔제이원컴퍼니 대표 
  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수
  • ) JP Mogan Chase AMJ Tech consultant (일본)
  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

커리큘럼 총 83 개 ˙ 14시간 54분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 과정 및 강의 내용 소개
섹션 1. DevOps와 CI/CD의 이해
Waterfall vs Agile 05:34
Cloud Native Application의 구성요소 미리보기 11:37
CI/CD 자동화 도구의 이해 06:00
CI/CD Work flow 11:03
Jenkins 소개 미리보기 07:14
Jenkins 설치 및 설정 15:31
실습1-1) Docker 컨테이너로 Jenkins 설치하기 04:24
실습1-2) 첫번째 Item(Project) 생성 09:13
섹션 2. Jenkins를 이용한 CI/CD 자동화 도구의 사용
CI/CD를 위한 Git, Maven 설정 미리보기 09:44 Maven 프로젝트 생성 미리보기 06:26
실습2) Git에서 코드 가져와서 빌드하기 09:23
CI/CD 작업을 위한 Tomcat 서버 연동 09:04
실습3) Tomcat 서버에 배포하기 16:04
PollSCM 설정을 통한 지속적인 파일 업데이트 12:17
SSH + Docker가 설치되어 있는 VM(컨테이너) 사용하기 (Updated: 2023-06-01) 19:16
실습4) Docker Container에 배포하기 ① 15:11
실습4) Docker Container에 배포하기 ② 13:16
Updated) VM 환경의 Docker에 배포하기 - Windows, MacOS(Intel chip) 14:52
섹션 3. Jenkins + Infrastructure as Code 와의 연동
섹션 소개 미리보기 00:54 Infrastructure as Code 개요와 Ansible의 이해 미리보기 21:47
Docker 컨테이너로 Ansible 실행하기 10:52
Ansible 설정과 작동 과정 14:02
Ansible 기본 명령어 08:02
Ansible 모듈 사용 11:34
Ansible Playbook 사용하기 18:40
Jenkins + Ansible 연동하기 07:12
실습5) Jenkins + Ansible Playbook 사용하기 ① 11:53
실습5) Jenkins + Ansible Playbook 사용하기 ② 25:58
Ansible을 이용한 Docker 이미지 관리 17:58
실습6) Ansible Playbook으로 Docker 컨테이너 생성하기 08:35
섹션 4. Jenkins + Ansible + Kubernetes 와의 연동
섹션 소개 미리보기 00:59
Kubernetes 소개 12:18
Kubernetes 설치 09:03
Kubernetes 기본 명령어 21:02
Kubernetes Script 파일 미리보기 13:21
Kubernetes + Ansible 연동 10:25
Ansible에서 Kubernetes 제어하기 12:07
Ansible playbook으로 Kubernetes Script 실행하기 16:53
실습7) Jenkins + Ansible + Kubernetes 연동하기 ① 10:21
실습7) Jenkins + Ansible + Kubernetes 연동하기 ② 18:51
전체 CI/CD 자동화 프로세스 구성 미리보기 09:12
실습8) Jenkins를 이용한 CI/CD 자동화 파이프라인 구축하기 ① 11:40
실습8) Jenkins를 이용한 CI/CD 자동화 파이프라인 구축하기 ② 10:32
Updated) VM 환경의 K8s에 배포하기 - Windows, MacOS(Intel chip) 17:20
섹션 5. Advanced Jenkins 사용 ① - Pipeline
섹션 소개 미리보기 00:59 Delivery Pipeline 사용 미리보기 11:16
Jenkins Pipeline 스크립트 사용 02:40
실습9) Jenkins Pipeline 생성하기 07:30
실습10) Jenkins Pipeline 프로젝트 - Pipeline Syntax 사용 10:25
실습11) Jenkins Pipeline 프로젝트 - Maven build pipeline 08:00
실습12) Jenkins Pipeline 프로젝트 - Tomcat 서버에 배포 06:30
실습13) Jenkins Pipeline 프로젝트 - Docker 컨테이너에 배포 13:02
섹션 6. Advanced Jenkins 사용 ② - SonarQube, Multi nodes
SonarQube 사용하기 미리보기 07:16 실습14) SonarQube + Maven 프로젝트 사용하기 미리보기 07:26
실습15) Bad code 조사하기 06:42
Jenkins + SonarQube 연동 04:15
실습16) SonarQube 사용을 위한 Pipeline 사용하기 04:16
Jenkins Multi nodes 구성하기 - Master + Slaves 02:26
실습17) Jenkins Node 추가하기 23:47
실습18) Jenkins Slave Node에서 빌드하기 18:41
섹션 7. 상용 클라우드 환경에 배포하기
섹션 소개 미리보기 00:47
배포를 위한 AWS Cloud 환경 구성하기 02:46
이미지를 이용하여 AWS EC2 생성하기 16:04
실습19) AWS EC2에 Jenkins 서버 설치하기 미리보기 13:03
실습20) AWS EC2에 Docker 서버 설치하기 03:09
실습21) AWS EC2에 Tomcat 서버 설치하기 07:48
실습22) AWS EC2에 Ansible 서버 설치하기 10:40
실습23) AWS EC2에 SonarQube 설치하기 09:31
실습24) Jenkins를 이용하여 Tomcat 서버에 배포하기 07:36
실습25) Jenkins를 이용하여 Docker 서버에 배포하기 14:40
실습26) Jenkins를 이용하여 Ansible 서버에 배포하기 10:17
섹션 9. Appendix
Windows환경에서 SSH+Docker 컨테이너 기동 시 발생하는 오류 해결 21:26
Nodejs + PM2 애플리케이션 배포하기 27:07
강의 게시일 : 2022년 08월 25일 (마지막 업데이트일 : 2023년 07월 10일)
수강평 총 110개
수강생분들이 직접 작성하신 수강평입니다.
4.7
110개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
pandabear thumbnail
5
오래 기다렸습니다. 이번 강의도 야무지게 보고 WebFlux 강의까지 숨 참겠습니다!!
2022-08-28
지식공유자 Dowon Lee
안녕하세요, WebFlux 강의를 준비 중에 있습니다. 올해 안에 오픈 될 수 있도록 서둘러 마무리 하겠습니다.
2022-09-12
joahe thumbnail
4
제가 여기 나오는 프로그램 사용해본적 없는데 따라하면 동일한 결과 나와서 맛보기로 초급자용 실습예제로 좋은 강의같아요. 아쉬운점은 선생님 환경은 MAC 기반인데 저는 WINDOW 기반이라서 조금씩 다른게 있는데 강의 올린지 얼마 안되서 그런지 WINDOW 환경에서 따라할때 추가 작업이 필요한건 아직 강의에 반영 안되구 조금씩 반영중인것 같습니다. 나중에 다 수정된다면 편하게 따라하기에 좋은 강의 같습니다. 다른 강의를 들어본적이 없어서 비교할 수는 없지만.. 저는 비용대비 괜찮은 강의같아요. 감사합니다.
2022-10-13
najh0528 thumbnail
5
Jenkins가 뭔지, 어떻게 쓰는지 확실히 배울 수 있었습니다. 덤으로 도커, k8s까지도요. 요즘은 Maven 빌드보단 Gradle빌드를 더 많이 쓰는 추세인 만큼 Gradle 빌드가 예제였으면 더 좋았겠단 생각이 들긴 합니다!
2023-08-06
sodud0695 thumbnail
5
배포 지식이 전무한 상태에서 시작했지만 친절하게 알려주셔서 배포 성공할 수 있었습니다. 감사합니다!
2022-11-23
김재현 thumbnail
5
갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원!
2023-11-06