본문 바로가기
Infra & DevOps/CI CD

[퍼온 글] Jenkins 스크립팅 된 파이프 라인 또는 선언적 파이프 라인

by Jordy-torvalds 2020. 6. 17.
반응형

출처: https://www.it-swarm.dev/ko/jenkins/jenkins-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8C%85-%EB%90%9C-%ED%8C%8C%EC%9D%B4%ED%94%84-%EB%9D%BC%EC%9D%B8-%EB%98%90%EB%8A%94-%EC%84%A0%EC%96%B8%EC%A0%81-%ED%8C%8C%EC%9D%B4%ED%94%84-%EB%9D%BC%EC%9D%B8/830749499/

 

jenkins — Jenkins 스크립팅 된 파이프 라인 또는 선언적 파이프 라인

최근에 kubernetes 에이전트로 스크립트를 작성하여 선언문으로 전환했습니다. 7 월 18 일까지 선언 파이프 라인에는 kubernetes 포드를 지정할 수있는 능력이 없었습니다. 그러나 yamlFile 단계를 추가��

www.it-swarm.dev

Jenkins Pipeline이 처음 생성되었을 때 Groovy가 기초로 선정되었습니다. Jenkins는 관리자와 사용자 모두에게 고급 스크립팅 기능을 제공하기 위해 오랫동안 임베디드 된 Groovy 엔진을 제공했습니다. 또한 Jenkins Pipeline의 구현 자들은 Groovy가 현재 "Scripted Pipeline"DSL이라고하는 것을 빌드하기위한 확고한 토대가되는 것을 발견했습니다.

 

Scripted Pipeline은 완벽한 기능을 갖춘 프로그래밍 환경이므로 Jenkins 사용자에게 엄청난 양의 유연성과 확장 성을 제공합니다. Groovy 학습 곡선은 일반적으로 특정 팀의 모든 구성원에게 바람직하지 않으므로 Declarative Pipeline은 Jenkins Pipeline 작성을 위해보다 간단하고 논쟁적인 구문을 제공하기 위해 만들어졌습니다.

 

이 둘은 근본적으로 밑에있는 동일한 파이프 라인 서브 시스템입니다. 이들은 모두 "파이프 라인 코드"의 견고한 구현입니다. 그들은 Pipeline에 내장 된 단계를 사용하거나 플러그인에 의해 제공되는 단계를 사용할 수 있습니다. 둘 다 공유 라이브러리를 사용할 수 있습니다.

 

그러나 구문과 유연성이 다르다. 선언적으로보다 엄격하고 사전 정의 된 구조로 사용자가 사용할 수있는 것을 제한하므로보다 단순한 연속적인 전달 파이프 라인에 이상적인 선택입니다. Scripted는 제한이 거의 없으며, 구조 및 구문에 대한 유일한 제한은 파이프 라인 특정 시스템이 아닌 Groovy 자체에서 정의하는 경향이 있으므로 파워 사용자와 복잡한 요구 사항에 이상적인 선택입니다. 이름에서 알 수 있듯이 Declarative Pipeline은 선언적 프로그래밍 모델을 권장합니다. 반면 Scripted Pipeline은 더 긴급한 프로그래밍 모델을 따르고 있습니다.

반응형

'Infra & DevOps > CI CD' 카테고리의 다른 글

단일한 진리의 원천 Single source of truth  (0) 2020.06.26
Linux OS에서 젠킨스 설치 방법  (0) 2020.06.23