CI/CD란??
CI/CD를 하면 좋은 이유?
-어플리케이션 개발 부터 배포까지 서비스 변경사항을 빠르게 배포하기위해서(시장출시 기간 단축)
-코드 품질개선(테스트 자동화)
-위와 같은 자동화 과정으로 인한 리소스 절감
*개인적이유:
위와 같은 등등의 여러 장점등의 이유는 많았지만 배포하는 과정이 귀찮아서 시작하게된 공부를 조금 정리 해보았습니다....
CI들어가기전 관련용어
컴파일:프로그래머가 작성한 소스 코드를 컴퓨터가 이해 할 수 있는 기계어로 변환하는 과정(한국인 기준 영어->한국어)
빌드:소스코드 파일을 컴퓨터 에서 실행할 수있는 소프트웨어 산출물로 만드는과정
(컴파일된 코드를 실제 실행할수 있는 상태로 만드는일, 컴파일또한 빌드에 속해있는 작업이라생각)
배포:빌드의 결과물을 사용자가 접근 할수 있게 배치하는것
예시)
영어를 한국어로 번역(컴파일)
번역된 것들을 책으로 만든다(빌드:쓰일수 있게 만든다.)
한국인들이 책을 읽을수있게 배치를 한다(배포)
CI의 정의
Continuos Integration:지속적인 통합
빌드/테스트 자동화 과정 이라 생각!
CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다.
CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이
정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로
여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다.
추가)지속적인 통합이란
어플리케이션의 새로운 코드 변경 사항들이
빌드 및 테스트 자동화 되어 변경으로 생기는 문제를 해결해주며 공유레퍼지토리에 통합되는것을 의미한다.
지속적 통합의 목표
- 소프트웨어 품질개선
- 개발자 생산성 향상
- 버그를 빨리 찾아내는것
- 새로운 소프트웨어 업데이트 검증시간 최소화
- 배포 소요시간 최소화
지속적 통합이란 무엇입니까? – Amazon Web Services
지속적 통합은 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식입니다. 지속적 통합은 소프트웨어 릴
aws.amazon.com
CD의 정의
배포 자동화 과정이라 생각!
Continuos Delivery:지속적 제공
Continuos Deployment:지속적인 배포
Continuos Delivery 그리고Continuos Deployment의 차이
- Continuos Delivery경우
- 배포까지 자동화 하지 않고 배포준비단계까지만 자동화
- Continuos Deployment경우
- 배포까지 자동화 하는 것을 말한다.
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
하루하루 소소한 성장들을 꿈꾸는 개린이입니다.
혹시라도 잘못된 정보 있으면 말씀해주세요!!
공부하고 수정하며 더나은 글로 만들어 가겠습니다.