CI(Continuous Integration) 지속적인 통합/CD(Continuous Delivery)지속적인 제공
CI(Continuous Integration) 지속적인 통합
1.버그수정이나 새로만드는 기능들이 지속적으로 main repository 주기적으로 build되고 test 되서 merge 되는 것을 말함 .
주기적으로 빈번하게 머지를 해야하는데 그로 인한 머지 충돌을 해결하는데 시간을 많이 쓴다.그래서 최대한 작은 단위로 나누어서 개발하고 통합해나가는 것이 중요하다.
2. 통합을 위한 단계(빌드,테스트,머지)의 자동화
주기적으로 머지된 코드의 변경사항이 자동으로 빌드가되어서 코드변경사항 이후에도 빌드가 성공적으로 되는지 확인이 되어야 하고 , 새로 추가된 코드의 변경사항 뿐만아니라 기존의 코드에 버그사항이 없는지 자동으로 테스트가 되어야 한다.
자동으로 추가된 스크립트를 통해 추가된 코드와 함게 리파지토리에 빌드가 되고 빌드가 된다면 UNIT TEST 또는 INTEGRATION TEST 등등 여러가지 테스트들도 실행이 된다.
장점- 주기적으로 머지되기 때문에 머지 충돌을 피할 수 있어서 개발 생산성을 높일 수 있고 머지된 코드들은 자동으로 빌드되고 테스트 되기 때문에 코드의 결함이나 문제점이 빠르게 발견되고 처리할 수 있다. 왜냐하면 주기적으로 머지를 하기 때문에 코드의 변경사항이 작아서 문제의 상황이 작기 때문에 고립된 아주 작은 문제까지 발견할 수 있다. 최종적으로 이런사항들을 통해 최고의 퀄리티된 코드를 짤 수 있다.
CD(Continuous Delivery)지속적인 제공
1. CI에서 일어난 작업들이 Prepare Release과정을 거치고 직접 개발자나 검증팀이 DEPLOY RELEASE 과정을 거치고 최종적으로 사용자에게 배포해도 된 상태가 되면 수동적으로 배포.
CD(Continuos Deployment)지속적인 배포
1. 딜리버리와 살짝 비슷하지만 수동이아닌 자동으로 배포
CODE->BUILD->TEST-RELEASE->DEPLOY
CICD의 툴은 JENKINS , BUILDKITE, GitHub Actions, Gitlab CI/CD, Bitbucket Pipelines 등등......
'항해 99(9기) > 항해 일일' 카테고리의 다른 글
항해 99 32일차 (0) | 2022.10.20 |
---|---|
항해 99 31일차 (0) | 2022.10.19 |
항해 99 29일차 (0) | 2022.10.17 |
항해 99 25일차 (0) | 2022.10.13 |
항해 99 23일차 (0) | 2022.10.11 |