최종 수정일: 2024.03.14
작성자: 정현우
특강 목표
- CI/CD 전체적인 개념에 대한 이해
- Continuous Integration 에 대한 실습
- Continuous Delivery/Deployment 에 실습
- 다양하게 스스로 활용하기!
<aside>
🔥 사전 준비 사항
- AWS ubuntu EC2 인스턴스 하나 만들어 두기!
- 해당 ubuntu EC2 인스턴스에 git 설치 여부 node 설치 여부 체크
.pem
파일도 실습에 활용할 예정!
- nestjs 강의 -
lol-fan-community
만들어 두기!
</aside>
1. CI/CD
- 한 줄로는 표현하자면, 단어뜻과 동일합니다.
- “수 많은 개발자들이 쉽게 하나로 합칠 수 있고, 오류를 검증하며, 합쳐진 것을 수작업으로 서버에 적용 & 배포를 하는 것이 아니라, 더 편리한 방법으로, 적당한 자동화로 서버에 적용 & 배포 를 하는 것” 입니다.
1) 개론
- CI 초기 등장은 OOP 로 관련된 유명한 책을 발간한 Grady Booch 의 Booch method 의 버전관리에 대한 책에서 먼저 언급되었다고 합니다!
- 근대화된 개념 탄생에는 “애자일 소프트웨어 개발” 의 개념과 밀접하게 관계가 있다고 합니다.
- 에자일 방법론은, 최대한 간단하게 표현하자면, “특정 도메인/단위/기간 까지 개발을 하고 합치고 적용하고 배포해보고, 다시 다음 특정 도메인/단위/기간 등으로 넘어가는 개발 방법” 이라고 보시면 됩니다.
- 너무 이론적인 내용 & 깊은 내용은 생략하겠습니다 :) 대표적으로 “폭포수 개발 방법론” 과 대조됩니다.
- 대중적이게 된 계기는 “Agile Software Development with Scrum (Series in Agile Software Development)” 이라는 책을 기점이라고 평가됩니다! (
Martin Fowler
& Kent Beck
)
- 그리고 Martin Fowler 가 이를 바탕으로 CI 에 대한 얘기를 적어 놓은 것이 유명합니다!
Continuous Integration