[CI/CD] #5 분산 빌드

keen.log·2024년 3월 7일
0

CI/CD

목록 보기
7/7
post-thumbnail
이 게시물은 [초보를 위한 젠킨스 2 활용 가이드 2/e]를 참고해서 작성한 내용임을 밝힙니다.

5. 분산 빌드

- 분산 빌드와 테스트

이번에는 분산 빌드와 테스트에 대해 알아보겠다.

❓방대한 양의 단위 테스트(Unit Test)와 통합 테스트 스위트(Integration Test Suite)를 작은 단위로 나눌 수 있다면 어떨까?
✅ 동시에 수행하는 것이 가능해진다! 이를 병렬로 동시에 처리하려면 '빌드'와 '테스트 머신'이 여러 개 필요하다.

😯 도커나 다른 기술을 이용해 이를 가능하게 한다면? -> 남은 일은 이를 젠킨스 슬레이브로 만드는 것 뿐이다.

위 그림은 젠킨스 파이프라인이 분산 빌드와 테스트를 이용해 빌드, 단위 테스트, 통합 테스트를 처리하는 방법을 보여준다.
젠킨스 슬레이브 두 종료가 있다.

🫧 빌드와 단위 테스트를 위한 스탠드얼론 젠킨스 슬레이브
빌드와 단위 테스트를 위한 젠킨스 슬레이브 세 개로 분산

🫧 통합 테스트를 위한 스탠드얼론 젠킨스 슬레이브
통합 테스트를 위한 두 개의 젠킨스 슬레이브로 분산

**스탠드얼론이란?
컴퓨터 소프트웨어나 하드웨어가 다른 기기나 시스템의 도움 없이 독립적으로 작동할 수 있음을 의미한다.

젠킨스 슬레이브 에이전트는 레이블을 이용해 분류된다.

또한, 도커를 이용해 on demand 젠킨스 슬레이브를 생성하는 것이 쉽고 유리하다. 다음 그림은 이전에 논의한 것과 같은 개념의 도커 버전이다.

**on demand란?
필요할 때에만 생성되고 작업이 끝나면 해제되는 동적 환경을 말한다.

여기서 젠킨스 슬레이브가 도커 이미지를 이용해 on demand로 생성된다.
도커 이미지 역시 두 개가 있다. 도커 슬레이브 에이전트는 도커 이미지를 이용해 생성된다.

빌드와 단위 테스트를 위한 도커 이미지
빌드와 단위 테스트를 위한 세 개의 도커 슬레이브 에이전트에 분산된다.

통합 테스트를 위한 도커 이미지
통합 테스트를 위한 두 개의 도커 슬레이브 에이전트에 분산된다.

도커 슬레이브 에이전트 역시 레이블을 이용해 분류된다.


- 젠킨스 노드 관리 페이지

이번에는 젠킨스의 노드 관리 페이지에 대해 알아보자('노드'가 뭔지 헷갈리는 사람은 #3-2에서 서술적 파이프라인의 기본 구조 파트를 다시 보면 된다)

  1. Manage Jenkins > Manage nodes에 들어간다.
  2. 오른쪽에 보면 사진과 같이 사용 가능한 젠킨스 슬레이브의 목록이 표로 나타난다.

- 젠킨스 슬레이브 추가하기: 스탠드얼론 리눅스 머신/VM


- 활성화된 젠킨스 슬레이브의 추가 정보


젠킨스 슬레이브 추가하기: 스탠드

0개의 댓글