Jenkins에게 특정 슬레이브에서 특정 프로젝트를 실행하도록 지시하는 방법은 무엇입니까?
Jenkins 마스터 노드와 응용 프로그램을 스테이징하는 데 사용하려는 슬레이브 노드를 설정했습니다. 그러나 내가 만든 슬레이브 노드에서 프로젝트가 실행되도록 구성하는 방법을 알 수 없습니다.
답변
작업 구성에서 “이 작업을 실행할 수있는 위치 제한”확인란을 설정하고 슬레이브 이름을 지정하십시오.
나중에 슬레이브를 더 추가하면 각 슬레이브에 레이블을 설정하고 작업 구성에서 레이블을 지정할 수 있습니다.
이 참조 설명서를 참조하십시오.
답변
파이프 라인 작업을 실행중인 경우 먼저 슬레이브 노드 (또는 지금 호출 된 것으로 보이는 에이전트)에 레이블 (예 : ‘슬레이브’)을 추가하려고합니다.
그런 다음 파이프 라인 스크립트에서 작업이 실행되는 레이블을 지정하십시오.
선언 파이프 라인 :
pipeline {
agent {label 'slave'}
stages {
...
}
}
스크립팅 된 파이프 라인 :
node (label: 'slave') {
...
}
이 작업은 이제 레이블이 ‘slave’인 모든 노드에서 실행됩니다. 이 특정 슬레이브에서만 작업을 실행하려면 레이블을 재사용하지 마십시오. 물론 레이블은 ‘노예’일 필요는 없습니다. 원하는대로 할 수 있습니다.
최신 정보:
스크립팅 된 파이프 라인에서 노드 이름이 “My Node”인 경우 다음을 수행 할 수도 있습니다.
node ('My Node') {
...
}
해당 특정 노드에서만 코드 블록을 실행하려는 경우 유용합니다. 그러나 레이블을 사용하는 것이 더 유연하며 워크로드를 공유하기 위해 노드를 쉽게 추가 할 수 있습니다.