ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Jenkins] 파이프라인의 스크립트와 Jenkins 시스템 종류
    CICD 2023. 1. 26. 15:33

    스크립트 종류

    스크립팅 파이프라인( Scripted Pipelines )

    'node'을 시작으로 스크립트 작성 시작

    장점

    • 적은 섹션으로 작성 가능
    • 비교적 절차적인 코드로 작성 가능
    • 프로그래머에게 친화적인 구조
    • Jenkins의 이전 버전에 사용된 스크립트와 호환 가능
    • 사용자 지정 작업을 수행할 수 있음

    단점

    • 일반적으로 더 많은 프로그래밍이 필요
    • Groovy 언어 및 환경으로 제한된 구문 검사
    • 워크플로우를 표현하기 위해 비교적 더 복잡함

     

    선언적 파이프라인( Declarative Pipelines )

    'pipeline'을 시작으로 스크립트 작성 시작 

    장점

    • Jenkins 웹 양식의 기존 섹션과 비슷한 구조
    • 선언하는 기능 -> 가독성이 높음
    • Blue Ocean을 통해 생성 가능
    • 알림과 같은 친숙한 Jenkins 개념에 매핑되는 섹션을 포함
    • 향상된 구문 검사 및 오류 식별
    • 파이프라인 간 일관성 향상

    단점

    • 반복 논리에 대한 지원 감소
    • 변경되고 있음
    • 사용자 지정 파이프라인 코드를 처리하기 어려움

    선언적 파이프라인 컨텐츠들 (플러그인 제외)

    • Limitations
    • Sections
      • agent
      • post
      • stages
      • steps
    • Directives
      • environment
      • options
      • parameters
      • triggers
      • Jenkins cron syntax
      • stage
      • tools
      • input
      • when
    • Sequential Stages
    • Parallel
    • Matrix
      • axes
      • stages
      • excludes (optional)
      • Matrix cell-level directives (optional)
    • Steps
      • script

    Jenkins 시스템 종류

    마스터

    Jenkins 인스턴스의 기본 제어 시스템, Jenkins 구성 및 옵션과 전체 작업 목록에 대한 완전한 액세스 권한을 소유

    다른 시스템이 지정되지 않은 경우 작업을 실행하기 위한 기본 위치입니다.

    노드

    Jenkins 작업을 실행할 수 있는 모든 시스템, 마스터와 에이전트 모두를  포함합니다.

    + 쿠버네티스 환경을 구성할 때 사용하는 서버를 칭하는 말로도 사용하므로 구분 필요

    에이전트

    이전 버전 Jenkins에서 슬레이브로 칭해지던 시스템

    집행자( Executor )

    노드/에이전트에서 작업을 실행하는 슬롯, 설정을 통해 각 마스터 및 에이전트에 슬롯 수를 지정하여 실행되는 작업의 수를 제한할 수 있다.

    참고
    무거운 작업, 즉 실질적인 파이프라인 실행을 위해 마스터를 사용하는 것은 적절한 방법이 아닙니다. 만약 마스터에서 실행 중인 작업이 보안적 위협을 잠재하고 있는 작업일 경우 매우 큰 위험이 발생할 수 있기 때문입니다.
    그렇기 때문에 파이프라인 실행과 같은 작업은 에이전트에서 실행할 수 있도록 합니다.

     

    댓글

Designed by Tistory.