정의
- 어플리케이션 개발부터 배포까지 모든 단계를 자동화를 통해 효율적이고 빠르게 사용자에게 배포할 수 있는 것.
- CI
- 지속적인 통합.(빌드와 테스트의 자동화)
- 코드의 변경이 주기적으로 빌드 및 테스트되면서 merge되는 것.
- 코드 변경사항 주기적으로 빈번하게 merge : 2명이상 개발자가 협업하면서 개발시, 오랜기간 개발하다가 한번에 merge하면 충돌되는 코드가 많아짐. 그래서 가능한 작은 단위로 빈번히 개발하고 통합하는 방법
- 개발자가 github에 통합
- 빌드 테스트 진행
- 버그 발생시 다음날 해결
- 통합단계 자동화 : build하고 test하는 과정을 프로그램이 자동으로 해주는 방식.
- 작업내용 github에 통합
- 빌드 테스트는 시스템이 자동진행. 버그생기면 해결
- 코드 변경사항 주기적으로 빈번하게 merge : 2명이상 개발자가 협업하면서 개발시, 오랜기간 개발하다가 한번에 merge하면 충돌되는 코드가 많아짐. 그래서 가능한 작은 단위로 빈번히 개발하고 통합하는 방법
- 장점
- 코드 검증시간 감소
- 개발편의성 증대
- 테스트코드 통과한 코드만 올라갈 수 있어서 코드퀄리티 유지에 도움이 된다.
- CD
- 지속적인 제공과 지속적인 배포.
- 지속적인 제공
- CI에서 build및 Test된 이후 검증. 그후 배포를 수동적으로 진행하는 것.
- 지속적인 배포
- 배포할 준비가 되자마자 자동화를 통해 배포를 진행하는것
- 지속적인 제공
- 장점
- 배포보다 개발에 더 신경쓸 수 있음.
- 원클릭으로 빌드,테스트, 배포 자동화 가능.
- 지속적인 제공과 지속적인 배포.
- CI
출처
CI/CD란 무엇일까?
오늘은 CI/CD에 대해서 작성해보겠습니다. 앞으로는 글을 작성하는데 편한 글씨체로 작성할 생각입니다 :) CI/CD란? CI/CD는 개발자라면 한 번쯤은 다들 들어봤을 만한 단어일 것이다. CI/CD는 애플리
jud00.tistory.com