ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CI / CD 개념 완벽 이해하기 - CodeHan의 코딩공부
    Code Etc/Code Knowledge 2022. 9. 28. 05:08
    반응형

    CI CD란? 

    CI : Continuous Integration의 약자로 사전적 의미는 지속적 통합이다.

    CD : Continuous Deliver 혹은 Deployment로 쓰이며 지속적 배달이나 배포를 의미한다.

     

    이 둘을 합해 CI/CD라고 말하며 개발부터 배포단계까지 자동화하여 사용자에게 빈번히 배포할 수 있도록

    만드는 것을 말한다.

    Continuous Integration

    지속적 통합이란 뭘까?

     

    개발자들은 Main Repository에서 자주 Mergi를 한다. 그러나 한 번에 너무 많은 양을 Mergi하게 되면

    서로 다른 코드를 통합하는데 더 어려움을 겪을 수 있다.

    따라서 개발자들은 최대한 작은 단위로 개발하고 통합해야하며, 내가 작성한 코드가 전체적인 프로세스에 영향을 끼치지

    않았는지 Test까지 완료해야한다.

    이를 위해 CI서버에서 스크립트가 동작하여 자동으로 빌드테스트와 TestCode까지 전부 완료하는 것이 CI이다.

     

    CI의 장점

    CI를 자주하게 되면 Mergi충돌을 피해 갭라 생산성 향상과 코드 퀄리티를 향상시킬 수 있다.

    또한 문제가 발생하더라도 최대한 적은 수정과 코드작성이 이루어졌기 때문에 쉽게 버그를 찾을 수 있다.

     

    Continuous Delivery / Deployment

    CI에서 Test와 릴리즈까지 완료됐다면 이제 사용자에게 배포하는 단계만 남았다.

    릴리즈까지 완료한 단계에서 개발자가 개입하여 전체적으로 점검을 하고 Deploy로 전달하면 Delivery

    배포단계까지 자동화 되어있다면 Deployment로 칭한다.

    보통 회사에서 자신들의 코드에 얼마나 자신있느냐에 따라 Delivery와 Deployment로 나뉘는데 크게 중요하진 않다.

     

    정리하자면..

    CI/CD는 개발자의 생산성을 높여주고 규모가 큰 프로세스에서 꼭 필요하다고 생각한다.

    이를 도와주는 Tool은 Jenkins, GitHub Action, GitLab CI/CD등 다양한 툴이 있지만 기업에서 사용하는 툴을 배우는 것이

    좋을 것 같다. 이런 저런 기업의 채용공고를 살펴봤는데 GitLab이 주로 많이 쓰이는 것 같았다.

    다음번엔 GitLab을 조금 더 공부해보는 시간을 가져야겠다.

    반응형

    댓글

Designed by Tistory.