젠킨스 Jenkins & Helm

데브코스

목록 보기
110/131

젠킨스 (Jenkins)

1. 자바로 작성된 오픈 소스 자동화 서버

2. 지속적 인도 프로세스를 구축하는 데 널리 이용됨

  • 장점 : 유연성과 확장성


CI (Continuous Integration : 지속적 통합) 단계

  1. 일반적으로 개발자가 소스 코드를 커밋하고 푸시하는 것으로 시작
  2. 응용 소프트웨어를 자동으로 빌드, 통합
  3. (자동) 테스트를 통하여 배포할 수 있는 상태임을 확인

CD (Continuous Delivery/Deployment : 지속적 인도) 단계

  1. CI 단계에서 소프트웨어가 배포 가능한 상태임을 확인하느 것으로 시작
  2. 응용 소프트웨어를 컨테이너 이미지로 만들어 냄
  3. 포드, 디플로이먼트, 서비스 등 다양한 오브젝트 조건에 맞춰 (미리 설정한 파일을 통해) 배포

젠킨스의 특징

1. 다양한 프로그래밍 언어 지원

2. 플러그인을 통한 확장

- 사용자가 직접 플러그인을 작성해 젠킨스의 기능을 확장하는 것을 가능

3. 이식성

- 여러 종류의 컴퓨터에서뿐만 아니라 컨테이너 및 클러스터 환경에도 부드럽게 적용

4. 대부분의 소스 관리 시스템 지원

5. 분산 처리 지원

- 마스터/슬레이브 구조를 채택하여 여러 노드에서 작업 수행

6. 코드로 파이프라인 구성

- 프로세스 자동화에 적합

![](https://velog.velcdn.com/images/adam232/post/cdfb613d-53bb-4923-85ef-b6c870c5a73f/image.png)

수평적 확장

1. 조직 (개발팀, 테스트팀, 데브옵스팀)이 늘어날 때마다 마스터 인스턴스의 수를 늘려 가는 방식

- 비교 : 수직적 확장 - 마스터에 대한 부하가 증가함에 따라 마스터 시스템에 자원을 추가하는 방식

2. 통합 자동화가 복잡해진다는 단점이 있으나, 다음과 같은 중요한 이점이 있음

- 마스터 역할을 하는 컴퓨터의 하드웨어 사양에 대한 부담이 감소(특히, 조직이 많이 커진다면?)
- 팀 마다 각기 다른 설정이 가능
- 팀 전용 마스터 인스턴스가 있으므로 팀워크와 업무 효율이 높아짐
- 마스터 인스턴스 하나에 문제가 생겨도 다른 팀에 끼치는 영향이 최소화됨


profile
Dive Head First | Work Super Hard | Attract Great People

0개의 댓글