본문 바로가기

DevOps/CI|CD

젠킨스 살펴보기

젠킨스를 직접 접속해서 살펴보기에 앞서 현재 설치된 젠킨스의 구조를 간단히 살펴보자. 젠킨스 컨트롤러는 마스터 노드에 설치했지만 젠킨스 에이전트는 필요시에 생성되고  작업을 마치면 삭제되는 임시적인 구조를 가진다. 따라서 젠킨스 에이전트 작업 내용들은 삭제 전에 젠킨스 컨트롤러에 저장되어야 하며, 이를 위해 젠킨스 에이전트 서비스가 항상 동작하고 있다. kubectl get service 명령으로 현재 젠킨스 에이전트 서비스를 확인할 수 있다.

$ kubectl get service

 

젠킨스 컨드롤러를 단독으로 설치할 경우에는 컨트롤러가 설치된 서버에서 젠킨스 자체 시스템 관리, CI/CD 설정, 빌드 등의 작업을 모두 젠킨스 컨트롤러 단일 노드에서 수행한다. 하지만 컨트롤러-에이전트 구조로 설치할 경우 컨트롤러는 젠킨스 자체의 관리 및 CI/CD와 관련된 설정만을 담당하고 실제 빌드 작업은 에이전트로 설정된 노드에서 이루어진다.

따라서 컨트롤러 단독 설치는 일반적으로 간단한 테스트에만 사용되고 주로 컨트롤러-에이전트 구조로 사용하기 때문에 컨트롤러-에이전트 환경으로 구성했다.

 

 

# 젠킨스 접속하기 

 

# 젠킨스 대시보드

  • 새로운 Item
    • 젠킨스를 통해서 빌드할 작업을 아이템(Item)이라고 한다. 
  • 사람
    • 사용자를 관리하는 메뉴이다. 현재는 최초 접속한 admin 사용자만 등록되어 있다. 사용자의 정보를 관리하는 데는 젠킨스를 구동하는 서버에서 직접 사용자를 관리하는 방법과 젠킨스가 별도의 데이터베이스를 가지고 자체적으로 사용자를 관리하는 방법이 있는데, 별도의 데이터베이스가 없는 환경이기 때문에 현재는 직접 사용자를 관리하도록 되어있다.
  • 빌드 기록
    • 젠킨스 작업에 대한 성공, 실패, 진행 내역을 이곳에서 볼 수 있다. 
  • Jenkins 관리 
    • 젠킨스의 시스템, 보안, 도구, 플러그인 등 각종 설정을 수행하는 곳이다.
  • My Views
    • 젠킨스에서 각종 작업을 분류해 모아서 볼 수 있는 대시보드이다.
  • New View 
    • 대시보드인 View를 생성하는 작업이다.

 

 

# 젠킨스 관리 

  • 시스템 설정 
    • 메인 화면에 표시될 문구, 동시에 실행할 수 있는 실행기(executors)의 개수, 젠킨스를 접속할 수 있는 경로, 관리자의 정보, 시스템에서 공동적으로 활용해야 하는 플러그인 파일의 경로와 설정 정보 등을 이곳에서 설정할 수 있다.
  • Global Tool Configuration
    • 빌드 과정에서 사용하는 도구 (Maven, JDK, Git, Docker 등)의 경로 및 옵션을 설정할 수 있다. 플러그인 관리를 통해 추가로 사용할도구를 설정하면 이 메뉴에서 해당 도구를 설정하는 메뉴를 찾을 수 있다.
  • 플러그인 관리
    • 젠킨스에서 사용할 플러그인을 설치, 삭제, 업데이트할 수 있다. 젠킨스 홈 화면에서 보이는 알람은 여기서 플러그인을 업데이트해 해결할 수 있다.
  • 노드관리 
    • 젠킨스에서 사용하는 노드를 추가, 삭제하거나 노드의 세부 설정 및 상태 모니터링을 할 수 있는 메뉴이다. 젠킨스에서 작업을 수행할 수 있는 각 단위를 쿠버네티스와 동일하게 노드라고 하며, 노드에 레이블을 붙여 관리하거나 노드의 동작 방식을 설정할 수 있다.
  • Manage Credentials  
    • 젠킨스에서 사용하는 플러그인에 필요한 접근 키, 비밀 키, API 토큰과 같은 접속에 필요한 인증 정보를 관리한다.노출이 되면 곤란한 매우 중요한 정보이기 때문에 프로젝트에 직접 입력하지 않고 필요한 경우 호출해 사용한다. 여러 플러그인들이 다른 프로그램으로 연결될 때 보관한 인증 정보를 넘겨준다.

 

 

 

 

 

 

 

출처:

"컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 조훈,심근우,문성주 지음/길벗출판사" 책을 기반으로 실습한 내용입니다.