이번에는 분산 빌드와 테스트에 대해 알아보겠다.
❓방대한 양의 단위 테스트(Unit Test)와 통합 테스트 스위트(Integration Test Suite)를 작은 단위로 나눌 수 있다면 어떨까?
✅ 동시에 수행하는 것이 가능해진다! 이를 병렬로 동시에 처리하려면 '빌드'와 '테스트 머신'이 여러 개 필요하다.
😯 도커나 다른 기술을 이용해 이를 가능하게 한다면? -> 남은 일은 이를 젠킨스 슬레이브
로 만드는 것 뿐이다.
위 그림은 젠킨스 파이프라인이 분산 빌드와 테스트를 이용해 빌드, 단위 테스트, 통합 테스트를 처리하는 방법을 보여준다.
젠킨스 슬레이브 두 종료가 있다.
🫧 빌드와 단위 테스트를 위한 스탠드얼론 젠킨스 슬레이브
빌드와 단위 테스트를 위한 젠킨스 슬레이브 세 개로 분산
🫧 통합 테스트를 위한 스탠드얼론 젠킨스 슬레이브
통합 테스트를 위한 두 개의 젠킨스 슬레이브로 분산
**스탠드얼론이란?
컴퓨터 소프트웨어나 하드웨어가 다른 기기나 시스템의 도움 없이 독립적으로 작동할 수 있음을 의미한다.
젠킨스 슬레이브 에이전트는 레이블
을 이용해 분류된다.
또한, 도커를 이용해 on demand 젠킨스 슬레이브를 생성하는 것이 쉽고 유리하다. 다음 그림은 이전에 논의한 것과 같은 개념의 도커 버전이다.
**on demand란?
필요할 때에만 생성되고 작업이 끝나면 해제되는 동적 환경을 말한다.
여기서 젠킨스 슬레이브가 도커 이미지를 이용해 on demand로 생성된다.
도커 이미지 역시 두 개가 있다. 도커 슬레이브 에이전트는 도커 이미지를 이용해 생성된다.
빌드와 단위 테스트를 위한 도커 이미지
빌드와 단위 테스트를 위한 세 개의 도커 슬레이브 에이전트에 분산된다.
통합 테스트를 위한 도커 이미지
통합 테스트를 위한 두 개의 도커 슬레이브 에이전트에 분산된다.
도커 슬레이브 에이전트 역시 레이블
을 이용해 분류된다.
이번에는 젠킨스의 노드 관리 페이지에 대해 알아보자('노드'가 뭔지 헷갈리는 사람은 #3-2에서 서술적 파이프라인의 기본 구조 파트를 다시 보면 된다)