전체 글
-
[Jenkins] 역할 기반 액세스 - Role-based Authorization Strategy PluginCICD 2023. 1. 29. 17:41
Role-based Authorization Strategy 플러그인 보안 및 권한 부여에 대해 보다 세분화된 접근 방식을 사용하려는 경우 역할 기반 액세스 제어를 가능하게 해주는 플러그인입니다. 원하는 권한을 가진 역할 생성 및 특정 역할 삭제가 가능합니다.사용자 및 사용자 그룹에 권한을 할당, 회수하는 것이 가능합니다. 역할 유형 글로벌 역할 작업, 실행 및 SCM 같은 권한이 있는 프로젝트 전체에 걸친 역할 프로젝트 역할 특정 프로젝트에 대한 작업 또는 실행에 권한이 있는 역할 슬레이브 역할 노드를 관리할 권한이 있는 역할 참고 역할패턴은 개체 이름을 기준으로 일치하도록 설계된 정규식입니다. 예를 들어 East로 시작하는 프로젝트가 있는 경우 여기에서 East* 패턴을 사용하여 선택할 수 있습니다...
-
[Jenkins] 사후 처리 - try-catch-finally , catchError , postCICD 2023. 1. 29. 15:22
사후처리( Post-Processing ) 파이프라인 진행중에 작업이 완료되고 작업의 성공 여부와 상관없이 작업 종료 후 항상 또는 조건에 따라 실행되는 작업을 추가합니다. 스크립팅 파이프라인 #1 try - catch - finally try구문에서 실행되는 작업이 실패할 경우 catch구문이 실행되고 finally의 작업은 성공 실패와 상관없이 try가 완료되면 실행됩니다. def err = null try { // pipeline code node ('node-name') { stage ('first stage') { ... } // end of last stage } } catch (err) { currentBuild.result = "FAILURE" } finally { (currentBuild..
-
[Jenkins] 조건부 실행CICD 2023. 1. 28. 22:06
조건부 실행 특정 조건이 참일 때 단일 또는 여러 빌드 단계를 실행하도록 설정할 수 있습니다. 스크립팅 파이프라인 스크립팅 파이프라인의 경우 매개변수 , if문 , 피연산자 조합해서 조건부 실행을 구현할 수 있습니다. node ('worker_node1') { def responses = null stage('selection') { responses = input message: 'Enter branch and select build type', parameters:[string(defaultValue: '', description: '', name: 'BRANCH_NAME'),choice(choices: 'DEBUG\nRELEASE\nTEST', description: '', name: 'BUILD_..
-
[Jenkins] stash , unstash - 나중에 빌드에서 사용할 일부 파일을 보관, preserveStashes , failFastCICD 2023. 1. 28. 15:50
stash 동일한 파이프라인의 실행의 모든 노드 및 agent에서 나중에 사용할 수 있도록 파일 세트를 저장합니다. unstash stash를 통해 저장한 파일 세트를 현재 작업 공간으로 복원합니다. stash, unstash가 필요한 경우는 빌드를 진행한 agent와 빌드된 파일의 테스트를 진행하는 agent가 다를 때 테스트 담당 agent에서 빌드된 파일에 접근하지 못하는 상황이 발생되는데 이러한 경우 stash, unstash를 이용하여 빌드된 파일에 원활하게 접근할 수 있도록 설정 가능합니다. stages { stage('Source') { git branch: 'test', url: '...' stash name: 'test-source', includes: 'build.gradle,src/t..
-
[Jenkins] disableConcurrentBuilds 구문 - multi branch 파이프라인의 동시성 제한CICD 2023. 1. 28. 14:49
disableConcurrentBuilds multi branch 파이프라인을 한 번에 하나의 분기만 빌드하도록 제한합니다. 스크립팅 파이프라인 properties([disableConcurrentBuilds()]) 선언적 파이프라인 pipeline { agent any options { disableConcurrentBuilds() } stages { stage('Example') { steps { echo 'Hello World' } } } }
-
[Jenkins] Milestone Step Plugin - 여러 빌드가 동일한 Step으로 진입하는 것을 제어CICD 2023. 1. 27. 13:42
milestone Step 플러그인 하나의 파이프라인이 동시에 다수의 빌드가 진행되어 한 빌드가 특정 단계에 먼저 도달하여 리소스를 수정했을 때, 그 후에 도달한 빌드들이 그 단계를 진행하지 못하도록 할 수 있습니다. 이러한 기능이 필요한 예시로서, 한 빌드가 단계에 도달하여 리소스를 수정한 후 다른 빌드가 뒤이어 단계에 도달하여 아직 진행 중인 과정을 망칠 수 있습니다. # 이정표를 설정하고 도달한 빌드가 있을 경우 다른 빌드의 도달을 제한합니다. milestone 1 input message: 'Continue?'
-
[Jenkins] Lockable Resources Plugin - 리소스 동시 사용 제어CICD 2023. 1. 27. 12:52
Lockable Resources 플러그인 여러 빌드가 동시에 동일한 리소스( 노드, 에이전트, 그룹)를 사용하지 못하도록 제한하는 데 사용하는 Jenkins의 플러그인입니다. 잠금 된 리소스에 다른 빌드가 사용을 시도하면 대기 상태가 됩니다. 스크립팅 파이프라인 #특정 노드를 사용하지 못하도록 제한 lock('worker') { // steps to do on worker } #특정라벨을 가진 3개의 노드를 사용하지 못하도록 제한 lock(label: 'worker', quantity: 3) { // steps } 선언적 파이프라인 pipeline { agent any stages { stage("Build") { steps { lock(label: 'printer', quantity: 1, resou..
-
[Jenkins] input , parameters , scriptCICD 2023. 1. 27. 00:25
1. input 파이프라인을 진행하는 중에 사용자 입력에 따라 작업을 변경하는 기능 스크립팅 파이프라인 #파이프라인을 중지하고 사용자의 입력을 기다리는 구문 input 'Continue to next stage?' # 'Proceed or Abort' text가 출력되고 선택 후 다음 과정을 진행합니다 Parameter 필수 Parameter 1. message 선택 Parameter 1. id : 외부 처리시 식별자로 사용될 인자 #ID을 이용해 외부 처리 단계를 진행 input id: '{ID 입력}', message: 'Continue to the next stage?' #URL을 통해 Post방식으로 응답 #1 허가 http://[jenkins-base-url]/job/[job_name]/[bui..