CI/CD

ash3767·2020년 5월 19일
0

CI/ CD ?? 누군가 대화를 하고 있는데 ,
CI / CD 라는 용어가 나왔고 ,
여기서 나는 사실 무슨말이지 ??? 라는 생각이 들어서 검색을 해봤습니다.

참고 자료 :https://itholic.github.io/qa-cicd/
https://medium.com/@hoi5088/ci-cd-%EA%B0%9C%EB%85%90-4e6a45dbcfe2

1. CI/CD 란 ??

  • CI/CD 는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다.

  • 지속적인 통합 , 지속적인 서비스 제공 , 지속적인 배포를 가능하게 합니다.

  • 새로운 코드의 통합으로 인하여 개발 및 운영팀에 발생하는 문제를 해결하는 솔루션입니다.

1.1 CI(Continuour Integration)

  • Build & Packaging

  • 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 병합되는 것이다.

  • Build , Test 를 실시하는 프로세스를 말하며 , 이러한 통합 프로세스를 상시로 실히하는 것이다.

  • 다수의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 , 서로 충돌 할 수 있는 문제를 해결하기 위함이다.

  • 언제든 최신 Build 를 고객에게 바로 제공 가능하게 한다.

1.2CD(Continuous Delivery) & (Continuous Deployment)

  • Deployment

  • 개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리에 자동으로 업로드 되는 것이다.

  • 개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스 하는것이다.

  • 이 리포지토리에서 애플리케이션을 실시간 프로덕션 환경으로 배포된다.

  • 개발팀과 운영팀의 커뮤니케이션 부족문제를 해결한다.

위 링크에 다 적혀있는 내용이다.. 적다 git 이 떠올랐다.

그런데 이상했다 내가 검색을 했을때 ,
CI/CD 는 자동화라는 단어가 항상 따라붙었는데 무엇일까

git 에 코드만 올려놓으면 알아서 테스트와 빌드를 수행하고 , 그 결과를 잘 정리해 개발자에게 자동으로 알려주는 프로그램잉 있다면 좋지 않을까 ??
그렇기에 CI 를 설명할때 항상 자동화라는 키워드가 따라다닌다.

어려울것 없이 CD는 CI 의 연장선으로 생각하면 된다.

CI = 빌드 및 테스트 자동화
CD = 배포 자동화

라고 기억해도 무방합니다.

profile
안되면 될때까지 합니다.

0개의 댓글