항해99 WIL 49일차_062622

열공이·2022년 6월 26일
0

CICD (Continuous Integration & CD (Continuous Delivery & Continuous Deployment)



CI (Continuous Integration): 지속적인 통합; 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합히는 것을 의미.

  • 형상관리 툴(Git, SVN 등)을 사용하는 어플리케이션은 기능 추가 시마다 commit 등을 날려 레포지토리(Repository)에 버전 업데이트를 한다고 한다.
  • 다수의 개발자들이 협업할 때 공유 레포지토리에 수많은 commit들이 쌓이게 된다. 하지만 기능별로 빌드/테스트/병합(Merge)까지 하려면 번거로우니 자동화된 빌드&테스트로 원천 소스코드의 충돌 등을 방어할 수 있다.
  • 이러한 CI의 핵심 목표는,버그를 신속하게 찾아 해결하고,소프트웨어의 품질을 개선하고,새로운 업데이트의 검증 및 릴리즈의 시간을 단축시키는 것에 있다.

Continuous Delivery는 공유 레포지토리로 자동으로 Release 하는 것,Continuous Deployment는 Production 레벨까지 자동으로 deploy 하는 것을 의미. (지속적인 서비스 제공 혹은 지속적인 배포)

CI가 새로운 소스코드의 빌드, 테스트, 병합까지를 의미하고, CD는 개발자의 변경 사항이 레포지토리를 넘어, 고객의 프로덕션(Production) 환경까지 릴리즈 되는 것을 의미한다.

DevOps 엔지니어가 사용하는 대표적인 CI/CD 툴로는, Jenkins / Travis CI / Bamboo 등이 있습니다.

참고

https://artist-developer.tistory.com/24
https://seosh817.tistory.com/104

profile
프로그래머가 되자! 열공!

0개의 댓글