Hyundolog

CI/CD 란? 본문

CS

CI/CD 란?

hyundol97 2022. 7. 26. 16:22

Question

우리는 코드를 작성하게 되면 이를 컴파일 시키고 빌드하며 배포하게 됩니다.

이러한 과정을 매번 반복하는 것을 자동화시키면 어떨까에 대한 생각을 할 수 있습니다.

 

GitHub에 코드를 올리면, Jenkins 혹은 Travis에서 체크 후 배포까지 자동으로 진행되는 것을 경험하였습니다.

CI/CD가 갖춰진 환경에서 업무에 이용만 할 뿐이 아닌, CI/CD가 무엇인지 알아야 할 필요가 있다는 생각이 들게 되었습니다.

 


Answer

먼저, CI와 CD 각각이 어떤 의미를 하는지 알아보도록 하겠습니다.

 

 

CI(Continious Integration)

단어를 그대로 직역하면, 지속적인 통합 이라는 뜻을 가집니다.

우리는 GitHub 혹은 BitBucket과 같은 형상관리 툴을 이용하여 다른 개발자들과 협업합니다.

보통, 우리는 각자의 작업을 마치고 나면 Merge를 하고 빌드 및 테스트 과정을 통해 문제가 없는지 확인합니다.

빌드 및 테스트 과정을 자동으로 해준다면 관련 시간과 노력을 절감하여 개발을 효율적으로 진행할 수 있습니다.

 

 

CD(Continious Delivery or Continious Deployment)

단어를 그대로 직역하면, 지속적인 제공 혹은 배포 라는 뜻을 가집니다.

앞서 말한 CI 과정이 끝나고 나서 이슈가 발견되면 개발자는 해당 이슈를 해결하고 다시 Merge를 하게됩니다.

이슈가 해결되거나 없다면, 자동적으로 배포를 거쳐 변경 사항이 운영중인 곳에 반영되게 됩니다.

 

 


 

 

리뷰

  • Jenkins 혹은 TravisCli 사용하여 자동 배포 실습 필요

 

 

 

 

 

'CS' 카테고리의 다른 글

HTTP 통신과 Socket 통신  (0) 2022.07.28
데이터 직렬화와 역직렬화  (0) 2022.07.22
JSON과 Dictionary의 차이  (0) 2022.07.21
Comments