-
[Jenkins] 몇몇 요소들CICD 2023. 1. 25. 22:50
참고
DSL은 Domain-Specific Language 약어로 Jenkins의 프로그래밍 언어입니다. Groovy 기반이며 Jenkins 관련 기능을 캡슐화하는 용어와 구성을 포함하고 있습니다.Jenkinsfile
Jenkins에 파이프라인을 정의할 때 사용하는 파일입니다
구버전 Jenkins에서는 파이프라인의 정의가 Jenkins 서버의 홈 디렉터리에 파일이 생성되고 관리되었는데 최신의 Jenkins는 웹 인터페이스에서 DSL 스크립트 및 Jenkins 서버 외부의 텍스트파일에 작성된 DSL 스크립트(Jenkinsfile)로 관리가 가능합니다.
Jenkinsfile은 파이프라인에 사용되는 프로젝트를 인식하는 마커로서의 역할을 할 수 있습니다. 파이프라인을 관리에 대한 권한을 가진 Jenkinsfile의 경우 이 파일이 있고 없음에 따라 파이프라인이 실행 가능여부를 지휘할 수 있기 때문입니다.
선언적 파이프라인
선언적 파이프라인이 도입되기 전 파이프라인을 코드로 작성하기 위해 사용한 Groovy 프로그래밍 방식은 Jenkins에 최적화된 방식이 아니었습니다.
선언적 파이프라인은 Jenkins의 GUI를 이용하여 파이프라인을 구성할 때 진행 과정과 비슷한 흐름을 요구하고 DSL에서 비슷한 요소를 갖추고 있기 때문에 사용하기 쉽습니다.
오류가 발생할 때 Groovy 역추적을 스캔하는 대신 간결하고 직접적인 오류 메시지를 표시한다는 장점도 있습니다.
블루오션 인터페이스
파이프라인을 구성할 수 있는 시각적 인터페이스 기능입니다.
구성뿐만 아니라 진행할 때 발생하는 로그를 확인하고 성공 유무 체크 등 기본적인 모니터링 기능도 제공합니다.
하지만 현재 Jenkins는 블루오션 인터페이스에 대해서 기능을 계속 유지하고 있지만 새로운 기능 업데이트를 하지 않고 보안적인 이슈에 대한 업데이트만 진행하고 있는 상태입니다.
Multibranch 파이프라인
Jenkins에서 생성할 수 있는 작업 유형 중 하나로 git과 같은 SCM에서 관리되고 있는 프로젝트에 새로운 Branch가 생길 경우 Jenkins가 이것을 인식하고 해당 분기에 대한 Jenkins 프로젝트를 새로 생성합니다.
'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] 파이프라인의 스크립트와 Jenkins 시스템 종류 (0) 2023.01.26