-
[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 )
노드/에이전트에서 작업을 실행하는 슬롯, 설정을 통해 각 마스터 및 에이전트에 슬롯 수를 지정하여 실행되는 작업의 수를 제한할 수 있다.
참고
무거운 작업, 즉 실질적인 파이프라인 실행을 위해 마스터를 사용하는 것은 적절한 방법이 아닙니다. 만약 마스터에서 실행 중인 작업이 보안적 위협을 잠재하고 있는 작업일 경우 매우 큰 위험이 발생할 수 있기 때문입니다.
그렇기 때문에 파이프라인 실행과 같은 작업은 에이전트에서 실행할 수 있도록 합니다.'CICD' 카테고리의 다른 글
[Jenkins] Lockable Resources Plugin - 리소스 동시 사용 제어 (0) 2023.01.27 [Jenkins] input , parameters , script (0) 2023.01.27 [Jenkins] 파이프라인 트리거 지정, cron , pollSCM (0) 2023.01.26 [Jenkins] 작업을 실행할 특정 노드를 지정하기 , 연산자를 이용한 노드 지정 , parallel 구문 (0) 2023.01.26 [Jenkins] 몇몇 요소들 (0) 2023.01.25