지속적 통합 제출과제

[C672] 지속적 통합 과정에서 반드시 자동화가 이뤄져야 하는 부분은 어떤 부분인가요?

빌드와 테스트.

애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 "빌드 및 테스트" 되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결

[C671] 지속적 통합을 도입함으로써 기존 개발 방식의 어떠한 문제를 해결해주었을까요? 

<CI 적용 전의 과정>

  1. 개발자들이 개발하여 코드를 수정함
  2. 각자의 feature 브랜치에 코드를 push함 (but, 어느 한 부분에서 에러가 났지만 개발자들은 눈치채지 못함)
  3. 각자의 코드를 git에 올리고 통합(Intergration)함
  4. 에러가 발생했지만 어느 부분에서 에러가 났는지 모르므로 다시 어디부분에 에러가 있는지 디버깅하고 코드를 수정함
  5. (1) ~ (4)의 과정을 반복 --> 코드의 양이 적다면 조금만 시간을 할애해도 에러를 찾아낼 수 있지만, 코드의 양이 많다면 에러 추적이 안되므로 어마어마한 양의 디버깅 과정을 마주하게 될 수도 있음 ----------------------------------------

<CI 적용 후의 과정>

  1. 개발자들이 개발하여 feature브랜치에 코드를 push함
  2. git push를 통해 Trigger되어 CI서버에서 알아서 Build, Test를 실행하고 결과를 전송
  3. 개발자들은 결과를 전송받고 에러가 난 부분이 있다면 에러부분을 수정하고 코드를 master 브랜치에 merge함 --> 일일히 빌드와 테스트 과정을 개발자가 직접한다는 것은 리소스낭비이고 심한 경우에는 업무의 대부분을 빌드와 테스트에 투자해야 할 수도 있기 때문에 CI 과정은 필수화 되었음

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Bootcamp/Assignments 다른 글

    이전 글

    다음 글