코딩일상
CI/CD란?? 본문
CI/CD를 하면 좋은 이유?
-어플리케이션 개발 부터 배포까지 서비스 변경사항을 빠르게 배포하기위해서(시장출시 기간 단축)
-코드 품질개선(테스트 자동화)
-위와 같은 자동화 과정으로 인한 리소스 절감
*개인적이유:
위와 같은 등등의 여러 장점등의 이유는 많았지만 배포하는 과정이 귀찮아서 시작하게된 공부를 조금 정리 해보았습니다....
CI들어가기전 관련용어
컴파일:프로그래머가 작성한 소스 코드를 컴퓨터가 이해 할 수 있는 기계어로 변환하는 과정(한국인 기준 영어->한국어)
빌드:소스코드 파일을 컴퓨터 에서 실행할 수있는 소프트웨어 산출물로 만드는과정
(컴파일된 코드를 실제 실행할수 있는 상태로 만드는일, 컴파일또한 빌드에 속해있는 작업이라생각)
배포:빌드의 결과물을 사용자가 접근 할수 있게 배치하는것
예시)
영어를 한국어로 번역(컴파일)
번역된 것들을 책으로 만든다(빌드:쓰일수 있게 만든다.)
한국인들이 책을 읽을수있게 배치를 한다(배포)
CI의 정의
Continuos Integration:지속적인 통합
빌드/테스트 자동화 과정 이라 생각!
CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다.
CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이
정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로
여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다.
추가)지속적인 통합이란
어플리케이션의 새로운 코드 변경 사항들이
빌드 및 테스트 자동화 되어 변경으로 생기는 문제를 해결해주며 공유레퍼지토리에 통합되는것을 의미한다.
지속적 통합의 목표
- 소프트웨어 품질개선
- 개발자 생산성 향상
- 버그를 빨리 찾아내는것
- 새로운 소프트웨어 업데이트 검증시간 최소화
- 배포 소요시간 최소화
CD의 정의
배포 자동화 과정이라 생각!
Continuos Delivery:지속적 제공
Continuos Deployment:지속적인 배포
Continuos Delivery 그리고Continuos Deployment의 차이
- Continuos Delivery경우
- 배포까지 자동화 하지 않고 배포준비단계까지만 자동화
- Continuos Deployment경우
- 배포까지 자동화 하는 것을 말한다.
CI/CD툴 종류
- jenkins
- Circleci
- GitLab CI/CD
- Buildkite
- Github Action
- etc
레퍼런스
하루하루 소소한 성장들을 꿈꾸는 개린이입니다.
혹시라도 잘못된 정보 있으면 말씀해주세요!!
공부하고 수정하며 더나은 글로 만들어 가겠습니다.
'개발 공부' 카테고리의 다른 글
ANSI SQL 이란?? (0) | 2023.01.07 |
---|---|
[SQL] SQL명령어 정리(공부한 것 정리 중) (0) | 2023.01.03 |
[Git,GitHub] git기본 사용방법 및 명령어 정리 (0) | 2022.12.31 |
mongoDB 비밀번호 분실 및 변경 (0) | 2022.12.05 |
왜 nginx를 쓰나?? 알고 쓰자?? (1) | 2022.09.25 |