코딩일상

CI/CD란?? 본문

개발 공부

CI/CD란??

solutionMan 2022. 9. 8. 15:56
반응형

 

CI/CD를 하면 좋은 이유?

-어플리케이션 개발 부터 배포까지 서비스 변경사항을 빠르게 배포하기위해서(시장출시 기간 단축)

-코드 품질개선(테스트 자동화)

-위와 같은 자동화 과정으로 인한 리소스 절감

 

*개인적이유:

위와 같은 등등의 여러 장점등의 이유는 많았지만 배포하는 과정이 귀찮아서 시작하게된 공부를 조금 정리 해보았습니다....

 


CI들어가기전 관련용어

컴파일:프로그래머가 작성한 소스 코드를 컴퓨터가 이해 할 수 있는 기계어로 변환하는 과정(한국인 기준 영어->한국어)

 

빌드:소스코드 파일을 컴퓨터 에서 실행할 수있는 소프트웨어 산출물로 만드는과정

(컴파일된 코드를 실제 실행할수 있는 상태로 만드는일, 컴파일또한 빌드에 속해있는 작업이라생각)

 

배포:빌드의 결과물을 사용자가 접근 할수 있게 배치하는것

 

예시)

영어를 한국어로 번역(컴파일)

번역된 것들을 책으로 만든다(빌드:쓰일수 있게 만든다.)

한국인들이 책을 읽을수있게 배치를 한다(배포)


CI의 정의

Continuos Integration:지속적인 통합

빌드/테스트 자동화 과정 이라  생각!

 

CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다.

CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이

정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로

여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다.

 

 

추가)지속적인 통합이란

어플리케이션의 새로운 코드 변경 사항들이

빌드 및 테스트 자동화 되어 변경으로 생기는 문제를 해결해주며  공유레퍼지토리에 통합되는것을 의미한다.

 

지속적 통합의 목표

  • 소프트웨어 품질개선
  • 개발자 생산성 향상
  • 버그를 빨리 찾아내는것
  • 새로운 소프트웨어 업데이트 검증시간 최소화
  • 배포 소요시간 최소화

 

 

지속적 통합이란 무엇입니까? – Amazon Web Services

지속적 통합은 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식입니다. 지속적 통합은 소프트웨어 릴

aws.amazon.com

 


CD의 정의

배포 자동화 과정이라 생각!

Continuos Delivery:지속적 제공

Continuos Deployment:지속적인 배포

출처: AWS web service

 

Continuos Delivery 그리고Continuos Deployment의 차이

 

  • Continuos Delivery경우
    • 배포까지 자동화 하지 않고  배포준비단계까지만 자동화 

 

  • Continuos Deployment경우
    • 배포까지 자동화 하는 것을 말한다.

출처 : gocd.org


CI/CD툴 종류

  • jenkins
  • Circleci
  • GitLab CI/CD
  • Buildkite
  • Github Action
  • etc

 


레퍼런스

 

빌드, 배포, 컴파일의 개념 & 차이점 (Build, Deploy, Complie)

빌드, 배포, 컴파일의 개념 & 차이점 (Build, Deploy, Complie) 서버에 기능을 추가 하려면 개발자가 로컬 PC에서 개발을 하고 테스트까지 진행한 뒤에 문제가 없을 경우 사용자가 사용할 수 있도

choseongho93.tistory.com

 

 

[CI/CD] CI/CD란? - 지속적 통합(Continuous Integration)/지속적 배포(Continuous Deployment) 기본개념

매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요됩니다. 하지만 git에 코드를 올리는 것만으로도 누군가가 빌드와 테스트, 배포까지 해준다면,

seosh817.tistory.com

 

 

CI/CD(지속적 통합/지속적 제공): 개념, 방법, 장점, 구현 과정

CI/CD는 애플리케이션의 통합 및 테스트부터 제공 및 배포까지 전체 라이프사이클에서 지속적인 자동화와 모니터링을 제공합니다. 개념, 차이점, 학습방법(인강)을 보세요.

www.redhat.com

 

 

하루하루 소소한 성장들을 꿈꾸는 개린이입니다.

혹시라도 잘못된 정보 있으면 말씀해주세요!! 

공부하고 수정하며 더나은 글로 만들어 가겠습니다.

반응형
Comments