728x90
주제 : 형상 관리
▶ 형상 관리를 하게 되면 기획부터 고객에게 릴리즈될 때까지의 모든 과정을 볼 수 있다
▶ CI (Continuous Integration)
- 소프트웨어 개발을 위한 라이프 사이클 전체에 걸쳐 지속적인 통합, 자동화, 모니터링 등을 제공하는 sw 개발 방식
- 개발자들이 작업한 내용을 빠른 주기로 master 브랜치에 통합 및 빌드함으로써, 통합 과정에서 발생하는 이슈의 조기 발견이 가능
▶ Jenkins (젠킨스)
- 대표적인 소프트웨어 CI 도구
- 2004년 썬 마이크로시스템즈에서 허드슨 프로젝트를 통해 시작
- 사실상 형상관리 쪽으로 입사하지 않는 이상 다루지 않아서 미리 공부할 필요는 없다
- 그냥 기업에서 CI를 할 때 가장 많이 사용하는 도구인 것만 알아두면 될 듯!
▶ CD (Continuous Delivery)
- 지속적인 배포
- Coninupus Delivery or Continuous Deployment
- 소프트웨어가 항상 신뢰 가능한 수준에서 배포될 수 있도록 지속적으로 관리 및 배포하는 과정
- 소프트웨어를 더 빠르고 주기적으로 빌드 및 테스트, 출시하는 것을 목표로 한다
▶ CD를 왜 도입해야 하는가?
- 이슈의 조기 발견
- 지속적이고 빠른 통합은 이슈를 조기에 발견하게 한다
- 개발자 생산성 향상
- 통합, 빌드, 테스트, 배포 등의 과정이 자동화되면 개발자들은 개바에 더 집중할 수 있게 된다
- 원래는 개발자가 위의 과정을 모두 해야 하지만, 이 과정이 생략된다
- 빠른 개발 및 빈번한 업데이트
- 통합, 빌드, 테스트, 배포 자동화가 지속적으로 반복되며, 개발 및 배포 주기가 빈번해진다
▶ 도커와 쿠버네티스가 CI/CD를 하는 도구인 것만 알면 된다! (굳이 따로 공부할 필요 X)
▶ Docker (도커)
- 컨테이너 기반의 오픈소스 가상화 플랫폼
- 다양한 프로그램, 실행 환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공한다
- 프로그램의 배포 및 관리를 단순하게 해준다
▶ 실제 CI/CD 프로세스
- 보통 젠킨스로 CI 정도만 설정하고, 그 뒤에 도커나 쿠버네티스를 붙힌다
- 젠킨스 : 나의 원격 저장소에 올라오는 커밋들을 실시간으로 감시한다
- 젠킨스는 원격 저장소에 커밋들이 모이면, 감지하고 자동으로 빌드한다
- 만약 빌드 시 오류가 발생하면, 젠킨스가 커밋을 올린 담당자에게 자동으로 메일을 보낸 후 해당 커밋은 반영하지 않는다
- 그리고 문제가 없는 커밋들은 자동으로 반영을 해준다
- 그럼 젠킨스가 만들어난 SW를 도커가 적잘한 형태로 만들어지도록 만든다
- 그럼 이 도커는 젠킨스가 초치종 빌드해서 만든 소프트웨어를 미리 정해진 위치에 배포를 하는 역할을 하는 것이다
- 보통 CI/CD를 따로 나누지 않고 하나의 팀에서 전반적으로 관리한다
728x90
'코드프레소 체험단' 카테고리의 다른 글
[그림과 실습으로 배우는 도커 & 쿠버네티스] 스터디 🐳 (0) | 2022.05.04 |
---|---|
[라이브강의] 2022-03-30 (spring boot filter and interceptor) (1) | 2022.04.06 |
[Java 웹 개발 트랙 개발 팀 프로젝트] 오리엔테이션 (0) | 2022.03.10 |
[오프라인] 2022-02-05 (0) | 2022.02.06 |
댓글