강의

멘토링

로드맵

BEST
Programming

/

Devops & Infra

Building a CI/CD Pipeline with Jenkins

This lecture covers CI (Continuous Integration) and CD (Continuous Deployment) pipelines, which are one of the four key elements (MSA, CI/CD, DevOps, Container) that make up cloud-native applications. Through this lecture, you can understand and practice the process of building and deploying your own automation pipeline in a local environment and a cloud environment using the CI/CD tool Jenkins.

(4.7) 209 reviews

4,616 learners

  • Dowon Lee
Jenkins
CI/CD
Ansible
Kubernetes
SonarQube

Reviews from Early Learners

What you will learn!

  • You can learn about the build, packaging, and deployment process of applications using Jenkins.

  • With CI/CD automation pipelines, you can deploy applications to various environments.

  • You will learn how to deploy applications to Docker and Kubernetes environments and how to control server configuration information using Ansible.

The trend is cloud native! ☁️
Build a CI/CD automation pipeline .

📢 Please check before taking the class!

  • Depending on your learning environment, lecture audio may be uneven. Intermittent noise may be heard during Section 0-2 classes, so please check the lecture [Preview] before taking the class.

Is this perhaps your concern ?

How should I deploy the completed development results to the operating server ?

How do I configure my deployment environment to deploy my deliverables to multiple environments?

How do I configure my application in a container virtualization environment ?

How do I deploy an application to a Kubernetes environment ?


The Core of DevOps, CI/CD
Faster and more powerful with Jenkins!

Jenkins?

You can build your own automation pipeline using Jenkins, an automation tool that helps with continuous integration (CI) and continuous deployment (CD).

This course is about understanding the process required to build and deploy applications developed using Jenkins, a CI/CD automation tool, and building an automation pipeline. Through 20 learning samples used in the course, students will learn about the entire process required to build, test, and deploy a completed application. In addition, you can build your own automated deployment process on your local PC and in a cloud environment.

Since the 2010s, IT systems have evolved with Resilient + Anti-Fragile + Cloud Native as their core keywords. An IT culture called DevOps emerged, a cloud native architecture was introduced, and systems had to be able to flexibly cope with any environment. When designing applications, domains began to be separated and developed using a microservice architecture, and services were split into dozens or even hundreds. Each service that makes up an application was converted into an environment where it could be developed, built, and deployed individually. In a DevOps environment, improvements and issues with services had to be quickly reflected. Development units had to be smaller, and deployments had to be performed more frequently.

Now, developers and operators can no longer manually build, package, and deploy tens or hundreds of services that make up a single application. Regardless of the complexity of the system itself, building and deploying each service that makes up an application can be a huge task and can be a factor that greatly increases the workload.

Building an automated pipeline for continuous integration (CI) and continuous delivery (CD) for today’s applications has become an essential choice for developing applications in a cloud-native environment. The entire process of fetching code from Git, performing a build, executing test cases, creating a package for deployment, and deploying to an operating system is performed by an automated process. This automated process provides an environment where you can build more frequently, test more frequently, and deploy more frequently, which ultimately leads to improved system quality.

In the lecture “Building a CI/CD Pipeline Using Jenkins”

In the previous two lectures, “ Developing RESTful WEB Services using Spring Boot ” and “ Developing Microservice Applications (MSAs) with Spring Cloud, ” we provided guides for developing web applications and cloud native applications. In this lecture, you will experience the process of building an automation pipeline required to deploy a web application developed with Spring Framework + Spring Boot to a local or cloud environment.

In this lecture, students will be able to build an automated pipeline to deploy developed applications to the production environment based on their understanding of CI/CD and build their own deployment process.

Great lectures to watch together 📖


To these people
I recommend it.

Web application
I have developed it
People who are there

Your own CI/CD
Automated pipeline
Those who want to build

On the operating server
The application
In a container virtualization environment
For those who want to distribute

CI/CD Automation
Through the pipeline
In a cloud environment
The application
For those who want to distribute

✅ After taking this course, you will be able to:

  • Understand continuous integration and continuous deployment.
  • You can build a deployment pipeline that you can practice in your local environment.
  • You will build an automated pipeline that can deploy your own applications or sample web applications provided in the course to a Tomcat web server and a Docker virtualization environment.
  • You can build your own deployment environment based on the example scripts provided in the lecture.

Learning content
Check it out.

💡 Learn the basics of building a CI/CD automation pipeline, and build your own deployment process with hands-on code. Students can practice both local and cloud deployments according to their own environment. You can build your own deployment environment with over 25 hands-on examples that can be applied and tested directly to the operating environment you want to deploy to. *Supports Windows, macOS (Intel Chip/Apple Silicon Chip) environments

Section 1 - DevOps and CI/CD

  • Learn about DevOps and CI/CD pipelines.

Section 2 - Learning CI/CD using Jenkins

  • Learn how to install and deploy Jenkins to build a CI/CD pipeline.
  • Learn how to deploy the Tomcat web server and Docker virtualization environment.

Section 3 - Jenkins + Infrastructure as Code

  • Understand Infrastructure as Code and learn how to use Ansible Server.
  • Learn how to integrate Jenkins with Ansible servers.

Section 4 - Jenkins + Ansible + Kubernetes Integration

  • Learn how to install Kubernetes for hands-on training.
  • Learn how to integrate Jenkins with Ansible servers and Kubernetes for deployment.

Section 5 - Using Advanced Jenkins ① - Pipeline

  • Understand Jenkins Pipeline features.
  • Learn how to deploy a project using a Jenkins Pipeline script.

Section 6: Using Advanced Jenkins ② - SonarQube, Multi nodes

  • Learn how to deploy on multiple nodes with Jenkins.
  • Learn how to use it in conjunction with the SonarQube system.

Section 7: Deploying to a Commercial Cloud Environment

  • Configure your deployment environment on a commercial cloud.
  • Learn how to install and deploy services used in your deployment environment on AWS EC2 servers.

Section 8: Essential SW for the Practice Environment

  • Learn how to install the SW and tools used in the lecture. (Windows, MacOS)
  • Learn how to create an account to use cloud services and how to create a virtual server.

💾 Notes on learning

  • This course is designed to teach you the content and process required to deploy an application. (For the prerequisite knowledge required for the course, please check [Prerequisite Knowledge] and Q&A at the bottom of the introduction page.)
  • The course is conducted in a macOS environment, and commands and scripts are also provided for students in a Windows environment.
  • Section 9 provides an introduction to the installation of essential SW for the lecture. We recommend that you take Section 9 before proceeding with the lab.

Q&A 💬

Q. What prerequisite courses or knowledge are required to take this course?

The lecture barely covers the programming part. You will learn the basics of the process and methods required to deploy the developed application to a local or cloud environment. In addition, if you have an understanding of the use of configuration management services such as Git, an understanding of web applications, and an understanding of virtualization services, it will be helpful in understanding the lecture content.

Q. What environment is used in the lecture?

In this lecture, we are using a local environment to deploy the application you have developed or the web application provided in the lecture. We are configuring the SW or system (Tomcat, SSH server, Kubernetes, etc.) required for deployment automation using Docker Desktop installed in the local environment, and providing examples so that you can build a deployment pipeline. In addition, the latter half of the lecture covers the part where you build the content built in the local environment to the cloud environment and practice it. The practice for this lecture is conducted in a macOS environment, but commands and scripts for Windows users are also provided.

Q. To what extent does it cover CI/CD automation deployments?

This course provides about 20 hands-on practice codes that can be practiced by anyone from those who are new to the concept of continuous integration (CI) and continuous delivery (CD) to developers who want to deploy applications to production servers through CI/CD pipelines. Based on what you learn in the course, you can build a CI/CD pipeline for deploying basic web applications and microservice applications. The use of Jenkins using Kubernetes Cluster, continuous monitoring, and continuous scheduling are being prepared through the "CI/CD Automation Deployment In-Depth Course (tentative title)".

More than 6,000 people are listening now
Are you curious about the know-how of MSA development?
Average rating 4.8★ Cumulative course reviews 500+

Spring Boot & Spring Cloud Microservice Application Development Roadmap (Click)

Recommended for
these people

Who is this course right for?

  • Anyone who wants to use CI/CD to deploy developed applications

  • Anyone who wants to build an automated build environment to deploy Spring Boot applications to Docker and Kubernetes

  • Anyone who wants to manage configuration information for servers on which applications are running using IaC

  • Anyone who wants to use Jenkins as a CI/CD automation deployment tool

Need to know before starting?

  • Understanding the Build and Deployment of Applications

  • Concepts of container virtualization technology

  • Understanding Web Applications

Hello
This is

29,516

Learners

1,585

Reviews

1,355

Answers

4.8

Rating

8

Courses

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

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

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

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

 

 

  • ) 엔제이원컴퍼니 대표 

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

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

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

 

 

Curriculum

All

85 lectures ∙ (15hr 29min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

209 reviews

4.7

209 reviews

  • najh0528님의 프로필 이미지
    najh0528

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

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

    • hyun님의 프로필 이미지
      hyun

      Reviews 4

      Average Rating 4.8

      4

      78% enrolled

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

      • Dowon Lee
        Instructor

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

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

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

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

      • pandabear님의 프로필 이미지
        pandabear

        Reviews 51

        Average Rating 5.0

        5

        25% enrolled

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

        • Dowon Lee
          Instructor

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

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

        Reviews 10

        Average Rating 4.7

        3

        100% enrolled

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

        $68.20

        Dowon Lee's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!