목록DevOps/Jenkins (13)
나의 잡다한 노트 및 메모
Jenkins Pipeline에서 parallel 구문은 여러 작업을 동시에 실행할 수 있도록 도와줍니다. 이를 통해 배포, 테스트 등 시간이 오래 걸리는 작업들을 병렬로 처리하여 전체 파이프라인 실행 시간을 단축할 수 있습니다.Declarative Pipeline에서의 parallel 구문Declarative Pipeline에서는 stage 내에 parallel 블록을 정의할 수 있습니다. 각 병렬 작업은 내부에 개별 stage나 steps 블록으로 정의합니다. pipeline { agent any stages { stage('Parallel Tasks') { parallel { stage('Task A') { ..

1. Global Trusted Pipeline Library란?Jenkins Pipeline에서 자주 사용하는 코드나 함수를 별도로 모듈화하여, 여러 파이프라인 스크립트에서 공통으로 사용할 수 있도록 만든 라이브러리를 의미합니다.Global Library로 등록하면, Jenkins 인스턴스 전역(모든 Job)에서 신뢰할 수 있는(Trusted) 형태로 사용할 수 있게 됩니다.이 라이브러리는 sandbox 모드 제약 없이 실행될 수 있으므로, 파이프라인에서 자유롭게 코드를 재사용할 수 있습니다. shared-lib라는 이름과 vars 디렉터리Library 이름(shared-lib):Jenkins 전역 설정(Global Pipeline Libraries)에서 설정한 “Name”입니다.Jenkinsfile(..
Jenkins의 Workspace는 각 빌드(job execution)가 수행되는 디렉토리로, 소스 코드 체크아웃, 빌드 산출물 생성, 테스트 결과 저장 등 빌드 과정에서 필요한 파일들이 위치하는 공간입니다. 아래에 Jenkins Workspace에 대해 자세히 설명드립니다.1. Workspace의 기본 개념정의:Workspace는 특정 Job이 실행될 때 해당 빌드와 관련된 파일들을 저장하는 디렉토리입니다. 예를 들어, Git과 같은 소스 코드 저장소에서 코드를 체크아웃(checkout)하여 빌드를 진행하거나, 빌드 도중 생성되는 임시 파일이나 결과물들을 저장하는 데 사용됩니다.역할:소스 코드 체크아웃 및 업데이트빌드 스크립트나 설정 파일의 저장빌드 산출물(artifact) 생성 및 저장테스트 실행 결..
매개변수(Parameter)는 빌드를 실행할 때 사용자에게 하나 이상의 입력값을 요청하여, 해당 값들을 빌드 과정에 전달할 수 있도록 하는 기능입니다. 예를 들어:파일 매개변수(File Parameter): 사용자가 테스트할 바이너리 파일이 담긴 zip 파일을 업로드하도록 요청할 수 있습니다.멀티라인 문자열 매개변수(Multi-line String Parameter): 소프트웨어 릴리스를 진행하면서 릴리스 노트를 입력받아 소프트웨어와 함께 업로드할 수 있습니다.각 매개변수는 **이름(Name)**과 해당하는 **값(Value)**을 가지며, 빌드가 시작될 때 이 이름-값 쌍이 환경 변수로 내보내집니다. 즉, 빌드 설정의 이후 단계(예: 빌드 스텝)에서 ${PARAMETER_NAME} (또는 Windows..
Jenkins의 공식 문서에서 Organization Folders 사용을 권장하는 이유는 주로 대규모 프로젝트 관리, 자동화된 리포지토리 발견, 일관된 파이프라인 관리 등을 통해 CI/CD 프로세스를 더욱 효율적이고 확장 가능하게 만들기 때문입니다. 1. Organization Folders란?Organization Folders는 GitHub, GitLab, Bitbucket과 같은 소스 코드 관리(SCM) 플랫폼에서 조직(Organization) 또는 사용자(User) 계정 아래에 있는 모든 리포지토리를 자동으로 탐색하고, 각 리포지토리에 대해 개별적인 Jenkins 파이프라인을 생성하는 기능입니다. 이를 통해 여러 리포지토리를 중앙에서 관리하고, 자동화된 방식으로 빌드 및 배포 파이프라인을 설정할..
1. Declarative Pipeline장점가독성구조화된 문법을 사용하므로 코드가 직관적이고 읽기 쉬움.정해진 구문(pipeline, stages, steps) 덕분에 초보자도 쉽게 이해 가능.에러 방지Jenkins에서 선언형 문법을 강제하기 때문에 문법 오류를 줄일 수 있음.Jenkins의 자동 완성 및 구문 검증 기능과 잘 연동됨.표준화팀 간에 파이프라인 작성 방식이 일관될 수 있음.반복 가능한 작업에 적합.내장 기능post 블록과 같은 후처리 단계(always, success, failure)를 기본 제공.agent 설정, 환경 변수(environment) 선언이 간단.단점제한된 유연성복잡한 조건 분기나 동적인 작업에는 적합하지 않음.특정한 로직을 구현하려면 Scripted Pipeline으로 전..
Jenkins의 Scripted Pipeline은 Groovy 언어를 기반으로 작성됩니다. Scripted Pipeline은 Jenkins Pipeline의 저수준 구문으로, Jenkins가 Groovy를 사용하여 동작하기 때문에 Scripted Pipeline은 Groovy로 작성해야 합니다. 왜 Groovy만 사용 가능한가?Jenkins의 내부 구현이 Groovy 기반Jenkins는 내부적으로 Groovy를 기반으로 동작하며, Scripted Pipeline은 이를 직접 활용하는 방식입니다.Groovy는 JVM 기반Jenkins는 Java 기반으로 동작하며, Groovy는 JVM(Java Virtual Machine) 위에서 실행되므로 호환성이 뛰어납니다. 다른 언어를 사용할 수 없는 이유는?Jenk..
Jenkinsfile은 Jenkins 파이프라인을 정의하는 스크립트 파일로, CI/CD 작업(Continuous Integration/Continuous Deployment)을 자동화하기 위한 핵심 구성 파일입니다. Jenkinsfile은 Jenkins가 수행할 빌드, 테스트, 배포 등 여러 작업을 명시적으로 작성한 파일입니다. Jenkinsfile의 두 가지 스타일1. Declarative Pipeline (선언형)Jenkins Pipeline을 직관적이고 읽기 쉽게 작성할 수 있는 고수준 구문 제공.CI/CD 작업 흐름을 pipeline, stages, steps로 구조화.장점:간결하고, 초보자도 사용하기 쉬움.에러 처리가 자동으로 포함됨.예:pipeline { agent any st..