코딩일상
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
하루하루 소소한 성장들을 꿈꾸는 개린이입니다.
혹시라도 잘못된 정보 있으면 말씀해주세요!!
공부하고 수정하며 더나은 글로 만들어 가겠습니다.
'개발 공부' 카테고리의 다른 글
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 |