Jenkins Pipeline node와 에이전트의 차이점과 연계

1363 단어 CICD
연락처:node,agent,slave는 모두 Jenkins master가 관리하는 Jenkinsjobs를 실행하는 서버를 가리킨다.
차이점: 에이전트는 표현성 pipeline에 사용되며, nodes뿐만 아니라dockercontainer 등도 사용할 수 있다.
nodes는 스크립트화pipeline에 사용됩니다.
표현성pipeline
모든 작업은 다음과 같은 형식으로 pipeline 블록에서 수행됩니다.
pipeline
{
//pipeline can be defined here
}

스크립트화 pipeline
대부분의 작업은 다음과 같은 형식으로 node에서 수행됩니다.
node{
stage("A"){
}
// ... stages
}

설명적 pipeline에서의 에이전트 적용
에이전트는 pipeline의 맨 위에 정의해야 하며, 스테이지의 맨 위에 정의할 수도 있습니다.예:
pipeline {
  agent none
  stages {
    stage("Stage A") {
      agent any
    } // stage
    stage("Stage B") {
      agent { label 'my-defined-label' } 
    } //stage
  } // stages
}

Node 스크립트화 pipeline에서의 응용
스크립트pipeline에서 한 개 또는 여러 개의 node 블록을 사용하여 전체 pipeline의 핵심 작업을 완성합니다.스크립트pipeline에서 node는 필수가 아닙니다.그러나 node의 pipeline은 두 가지 작업을 완성할 수 있습니다.
1. 하나의 블록은queue입니다. node에서 사용할 수 있는excutor만 있으면 블록의 모듈이 실행됩니다.
2. 작업 구간을 작성합니다.
node {  
    stage('Build') { 
        // 
    }
    stage('Test') { 
        // 
    }
    stage('Deploy') { 
        // 
    }
}
node {
    stage('ReBuild') { 
        // 
    }
    stage('ReTest') { 
        // 
    }
    stage('ReDeploy') { 
        // 
    }
}

좋은 웹페이지 즐겨찾기