이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

클라우드/Cloud 개념

CI/CD 이론

이쿠우우 2020. 12. 4. 18:20
반응형

 

CI/CD

 

CI/CD 란?

 

CI 란?

CI ( Continuous Integration ) 지속적 통합

빌드 및 테스트 자동화

개발이 끝난 이후에 코드 품질을 관리하는 고전적 방식의 단점을 해소하기 위해 나타난 개념.

작업된 소스 코드를, 빌드 하고 테스트 하고 배포 하는 과정을 통합하고,

이를 자동화할 수 있게 도와줌

여러 사람들이 개발한 내용에 대해서 Git 이나 SVN을 통해 Submit 된 코드들을 정기적으로 통합하는 기능 제공

 

과정 예)

1. 코드 수정 후 Github에 Push

2. CI Tool에서 변경된 코드에 대한 빌드와 테스트를 수행하고 결과를 피드백 해줌

 

CD 란?

CD (Continuous Deploy or Delivery) 지속적 전달 or 배포

배포 자동화

소프트웨어가 항상 신뢰 가능한 수준에서 배포될 수 있도록 지속적으로 관리하는 개념.

배포 이전에 테스트와 빌드는 필수적이기 때문에 CI 의 연장선임.

즉 CD가 되려면 항상 CI가 선행되어야함

 

Continuous Delivery (지속적 전달)

Production 은 수동으로 배포

 

Continuous Deployment (지속적 배포)

Production 까지 자동으로 배포

 

참고) Production 이란?

실제 서비스를 위한 운영 환경

 

과정 예)

무중단 서비스가 아닐경우

1. 기존에 동작하던 애플리케이션을 종료시키고

2. 업데이트된 빌드 파일로 애플리케이션을 구동

 

무중단 서비스에서 배포할 경우

1. 새로 업데이트 된 파일을 다른 Pod에 놓고

2. 구동이 완료되면 Proxy에서 들어오는 요청을 스위칭함

 

 

대표적인 CI/CD Tool

JenKins

TravisCI

CircleCI

Hudson

Bamboo

BITRISE

 

 

 

 

 

 

 

 

반응형

'클라우드 > Cloud 개념' 카테고리의 다른 글

CMDB (Configuration Management Database)  (0) 2022.01.06
CSPM, CWPP, CASB란  (0) 2022.01.06
클라우드 컴퓨팅이란?  (0) 2020.11.24
Serverless 란?  (0) 2020.09.01