CI/CD가 무엇이고 왜 필요한지 간략하게 설명한 후 스텝별로 알아보자

CI(Continuous Intergration) ?

Build, Test를 실시하는 프로세스를 말하며 이러한 통합 프로세스를 상시로 실시해주는 것을 CI라고 한다. 즉, 통합을 지속적으로 수행하는 것이다.

-형상관리 : Git, SVN 등

-Built Tool : Gradle, ant, make 등..

-CI Tool : Jenkins, Travis CI, Bitrise 등..

CD(Continuous Delivery or Continuous Deploy) ?

짧은 주기로 소프트웨어를 개발하는 소프트웨어 공학적 접근의 하나로, 소프트웨어가 언제든지 신뢰 가능한 수준으로 출시될 수 있도록 보증하기 위한 것이다. 소프트웨어를 더 빠르게, 더 주기적으로 빌드하고 테스트하고 출시하는 것을 목표로 한다. 이러한 접근은 더 많은 증분 업데이트를 업무 애플리케이션에 적용할 수 있게 함으로써 변경사항의 배포에 대한 비용, 시간, 위험을 줄일 수 있게 한다. 즉, 지속적 배포다. (짧은 주기로 개발중인 소프트웨어를 배포하고 그 과정을 자동화 하겠다는 뜻)

필요한 이유는?

그 전에는 한 페이지를 개발하면서 테스트하고 커밋하고 머지하고 과정을 거침.