This course covers CI (Continuous Integration) and CD (Continuous Deployment) pipelines, which are one of the four core elements (MSA, CI/CD, DevOps, Container) that make up cloud native applications. Through this course, you can understand and practice the processes needed to build and deploy your own automated pipeline in both local and cloud environments using Jenkins, a CI/CD tool.
Not only the real CI/CD lecture, but also the most basic knowledge of Docker + Kubernetes was mixed in, so it was very helpful.
And since it is a lecture that shows the mind of someone working in the field, it was very basic, but it was very easy to understand and helped me a lot.
I definitely recommend it to those who are thinking about taking the lecture.
5.0
하보
27% enrolled
Hello. I am an employee of a company that attended the MSA lecture offline today. At first, I didn't recognize you, but when I heard your voice and name, I was surprised that it was so similar to the lecture and instructor I had heard. I was embarrassed to say it on site, but... I would like to tell you that taking the CI/CD lecture when I was preparing for employment was so helpful. Thank you for the quality lecture, and I hope you will continue to give good lectures in the future.
You can learn about the build, packaging, and deployment process of applications using Jenkins.
Through CI/CD automation pipelines, you can deploy applications to various environments.
You can learn about the process of deploying 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 enrolling!
Depending on the learning environment, the lecture audio may be uneven. Intermittent noise may be heard during Section 0-2 classes, so please check the [Preview] lecture before enrolling.
Could these be your concerns?
How should I deploy the completed development to the production server?
To deploy results to multiple environments, how should the deployment environment be configured?
How do you configure an 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!
What is Jenkins?
You can directly build an automated pipeline using Jenkins, an automation tool that supports Continuous Integration (CI) and Continuous Deployment (CD).
This course is about understanding the processes needed to build and deploy developed applications using Jenkins, a CI/CD automation tool, and building automated pipelines. Through 20 learning samples used in the course, you will learn about the entire process required to build - test - deploy completed applications. Additionally, you can build your own automated deployment process in both local PC and cloud environments.
Since the 2010s, IT systems have evolved with Resilient + Anti-Fragile + Cloud Native as core keywords. The IT culture of DevOps emerged, cloud-native architecture was introduced, and systems needed to be able to respond flexibly in any environment. When designing applications, domains began to be separated and developed using a microservices architecture approach, and services were split into anywhere from dozens to hundreds or more. Each service that makes up an application transitioned to an environment where they could be individually developed, built, and deployed. In DevOps environments, there was a requirement to quickly reflect improvements and issues for services. Development units became smaller, and deployments needed to happen more frequently.
Now, the scale has reached a point where developers and operators can no longer manually handle the tasks of building, packaging, and deploying the dozens to hundreds of services that comprise a single application. Apart from the complexity of the system itself, the work of building and deploying each service that makes up an application can become a major task in itself and can also become a factor that creates a heavy workload.
Building an automated pipeline for continuous integration (CI) and continuous deployment (CD) of applications today has become an essential choice for developing applications in cloud-native environments. The entire process of fetching code from Git, proceeding with builds, running test cases, creating packages for deployment, and deploying to production systems is carried out by automated processes. These automated processes provide an environment where you can build more frequently, test more frequently, and deploy more frequently, ultimately leading to improvements in system quality.
In the "Building CI/CD Pipeline with Jenkins" course,
Through this course, you will be able to build an automated pipeline for deploying developed applications to production environments based on your understanding of CI/CD, and establish your own deployment process.
Recommended courses to take together 📖
Recommended for those who:
Those who have experience developing web applications
Those who want to build their own CI/CD automation pipeline
Those who want to deploy applications to a containerized virtualization environment on a production server
Those who want to deploy applications to a cloud environment through a CI/CD automation pipeline
✅ After completing this course, you will be able to do the following:
You will understand continuous integration and continuous deployment.
You can build a deployment pipeline that can be practiced in a local environment.
You can build an automated pipeline that deploys your own application or the sample web application provided in the course to a Tomcat web server and Docker virtualized environment.
You can build your own deployment environment based on the example scripts provided in the course.
Check out the learning content.
💡 Learn the fundamentals needed to build a CI/CD automation pipeline and construct your own deployment process through hands-on code. Students can practice both deployment in local environments and deployment in cloud environments according to their own environment. You can build your own deployment environment through over 25 practical examples that can be immediately applied and tested in your production environment. *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 with Jenkins
Learn how to install and deploy Jenkins for building CI/CD pipelines.
Learn how to deploy to Tomcat web server and Docker virtualization environment.
Section 3 - Jenkins + Infrastructure as Code
You will learn about Infrastructure as Code and how to use Ansible servers.
Learn how to integrate Jenkins with Ansible server.
Learn how to install Kubernetes for hands-on practice.
Learn how to deploy by integrating Ansible server and Kubernetes with Jenkins.
Section 5 - Advanced Jenkins Usage ① - Pipeline
Understand the Jenkins Pipeline feature.
Learn how to deploy projects using Jenkins Pipeline scripts.
Section 6: Advanced Jenkins Usage ② - SonarQube, Multi nodes
Learn how to deploy on Jenkins multi-node.
Learn how to integrate and use the SonarQube system.
Section 7: Deploying to Commercial Cloud Environments
Configure a deployment environment on a commercial cloud.
Learn how to install and deploy services used in the deployment environment on AWS EC2 servers.
Section 8: Essential SW for Practice Environment
Learn how to install the software and tools used in the course. (Windows, MacOS)
Learn how to create an account for using cloud services and how to create a virtual server.
💾 Learning-Related Notes
This course is designed to help you learn the content and process needed to deploy applications. (Please check [Prerequisites] at the bottom of the introduction page and Q&A for the prior knowledge required for taking this course.)
The course is conducted in a macOS environment, and commands and scripts for Windows users are also provided.
The installation of essential software for the course is explained in Section 9. We recommend taking Section 9 first before proceeding with the hands-on exercises.
Q. What prerequisites or knowledge are required to take this course?
The course provides almost no explanation of programming aspects. You will learn from the basics about the processes and methods needed to deploy developed applications to local or cloud environments. Additionally, if you have an understanding of the purpose of version control services like Git, web applications, and virtualization services, it will help you understand the course content.
Q. What environment is used in the course?
In this course, we use a local environment to deploy either your own developed application or the web application provided in the course. Using Docker Desktop installed in the local environment, we configure the software and systems needed for deployment automation (Tomcat, SSH server, Kubernetes, etc.), and provide examples to help you build a deployment pipeline. Additionally, in the latter part of the course, we also cover deploying the content built in the local environment to a cloud environment for hands-on practice. While the hands-on exercises in this course are conducted in a macOS environment, we also provide commands and scripts for Windows users.
Q. To what level does the course cover CI/CD automated deployment?
This course provides over 20 hands-on practice codes that can be used by everyone from those who are new to the concepts of Continuous Integration (CI) and Continuous Deployment (CD), to developers who want to deploy applications to production servers through CI/CD pipelines. Based on what you learn in the course, you'll be able to build CI/CD pipelines for deploying basic web applications and microservice applications. Topics such as using Jenkins with Kubernetes Clusters, continuous monitoring, and continuous scheduling are being prepared through "Advanced CI/CD Automated Deployment Course (working title)".
Curious about the MSA development know-how that over 6,000 people are currently learning? Average rating 4.8★500+ cumulative reviews
Spring Boot & Spring Cloud Microservice Application Development Roadmap (Click)
Recommended for these people
Who is this course right for?
Someone who wants to use CI/CD to deploy developed applications
Someone who wants to build an automated build environment to deploy Spring Boot applications to Docker and Kubernetes
Someone who wants to manage the configuration information of servers running applications using IaC
People who want to use Jenkins as a CI/CD automated deployment tool
Need to know before starting?
Understanding Application Build and Deployment
The concept of container virtualization technology
Understanding Web Applications
Hello This is
30,112
Learners
1,667
Reviews
1,373
Answers
4.8
Rating
8
Courses
저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.
직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다.
최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.
머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.
I was able to learn clearly what Jenkins is and how to use it. Plus, Docker and k8s. Since Gradle builds are used more than Maven builds these days, I think it would have been better if the Gradle build had been an example!
I think this is a really good lecture for learning Docker and CI/CD.
I recommend it, but there were many disappointing parts.
1. There are a lot of mistakes.
For example, changing port 8080 to 8088.
2. There is no explanation about the separate environment settings section and lectures, which is confusing.
3. The lectures and environment settings lectures are too separate, so it is inconvenient to go back and forth.
You might think that you can set everything up in advance, but even if you set it up, it is inefficient because it wastes memory and slows down if you don't use containers.
4. About half of the course progress is delayed because the environment settings are not set up right away.
I think that troubleshooting is also good, but since it is a basic lecture, I think it is more efficient to learn quickly and troubleshoot while practicing.
5. There are almost no answers in the community.
Many people are experiencing errors in the practice, but it seems that you only answer simple questions.
The lecture price is not cheap.
The course is really good, but I think it needs to be updated overall.
Hello, this is Lee Do-won. I will definitely reflect your feedback when updating the lecture. Due to the nature of the lecture, it often requires a lot of resources to run a container execution VM or multiple host PCs. Therefore, in order to reduce the burden or difficulty of the practical environment for students, I prepared a lecture on the Dind method or a separate VM setting. All scripts and sample codes used in the lecture were tested on Windows 10, Windows 11, MacOS Inter chip (2018), and MacOS M1 chip (2022), but I know that some students still have difficulty running it. In the future, I thought that I should provide tests in a more diverse environment for these infrastructure-related lectures or focus on other programming lectures besides infrastructure lectures. ^^; I also apologize for not being able to check and answer questions posted on the community right away. Since AI answers have been added since last year, it is true that I could not check the notification right away or could not answer right away because I was busy with the project. However, since students have personal circumstances, I will try to respond right away. Thank you for your feedback.