continuous Integration 코드를 통합하는 것
continuous delivery 코드를 작성만 하면 바로 쓸 수 있도록 배달하는 것
continuous deployment 배포를 자동화하는 것
ci를 해야하는 이유 : merge 지옥을 경험하지 않기 위해서
cd를 해야하는 이유 : 한번에 모아서 하면 천줄 넘어가면서 CTO가 혼자서 다 배포하고 죽는다.
정리: 개발자는 코드만 짜면 된다. 다른거는 니(jenkins)가 다 해라
java runtime위에서 동작하는 자동화 서버
빌드, 테스트, 배포 등 모든 것은 자동화해주는 자동화 서버
다양한 플러그인(핵심)을 활용해서 각종 자동화 작업을 처리할 수 있음
정~말 많은 플러그인이 존재함
대표적인 것들
Credential plugins
Git plugins
플러그인들의 집합
개발환경의 종류는?
local
develop(개발자들끼리)
qa를 위한 환경
prod(실제 사용자 환경)
개발순서
local 개발 -> 내부 테스트
dev 브랜치에 merge
젠킨스가 땡겨와서 lint등 코드 포메팅을 한다.
빌드
배포
테스트 진행
위 과정을 dev, qa, prod 모두에서 실행한다.