파이프라인
: 연속적인 이벤트 혹은 Job의 그룹
: 스크립트를 통해 Job을 순차적 혹은 병렬적으로 실행시키거나 이벤트들을 연속적으로 실행
: Jenkins를 사용하여 연속적인 정달 파이프 라인의 통합 및 구현을 지원하는 플러그인의 조합
: DSL (Domain Specific Language)을 통해 파이프라인을 코드로 생성
DSL (Domain Specific Language)
: 특정 도메인(산업, 분야 등 특정 영역)에 특화된 언어
: 해당 도메인의 전문가가 이해할 수 있는 형태의 고급 언어야함
- 내부 DSL
: API와 비슷한 개념
: 호스트 언어 구문을 이용하여 자체적으로 의존하는 무언가를 만드는 DSL
: 메타 프로그래밍의 형태로 언어 확장을 일으켜 다른 언어를 만들 수 있음
: Lisp, Ruby, Smaltalk 등의 언어
- 외부 DSL
: 호스트 언어와 다른 언어 (XML, Makefile 등)에서 생성된 DSL
: GUI 도구를 제공하는 것이 특징
: DSL과 범용언어(GPL)과의 경계가 모호
: 언어의 사용자가 아닌 사용자의 목적에 부합하는 이해를 할 수 있으면 외부 DSL
: Java, C#, C++ 등의 언어
- 장점
: 반복이 제거되고 비슷한 처리 코드는 자동 생성(템플릿) 된다.
: 프로그래밍 코드의 양이 적고 가독성이 높다
: 특정 프로그래머들과 커뮤니케이션이 쉽다 (XML, CSS, SQL 등)
- 단점
: 설계가 어렵다
: 잘 설계가 되지 않는다면 읽기 어려운 코드가 될 수 있다
: 하위 호환성을 유지해야 한다.
- 우리 주변의 DSL
: java (ANT, Maven, HQL, JMock 등)
: Ruby (Rails Validations, Rake, Capistrano, Cucumber 등)
: 기타 (SQL, CSS, Regular Expression, Make, graphviz 등)
Refference
'CICD > Jenkins' 카테고리의 다른 글
젠킨스 파이프라인 기초 - 3 (Scripted 문법 소개) (0) | 2022.07.23 |
---|---|
젠킨스 파이프라인 기초 - 2 (파이프라인 샘플 만들기) (0) | 2022.07.23 |
젠킨스 버전 업데이트 방법 (우분투) (0) | 2022.07.10 |
WSL2 환경에서 Jenkins 플러그인 업데이트 안될 때 (0) | 2022.05.19 |
WSL2.0 환경에서 Jenkins (0) | 2022.03.19 |