2016-09-06 2 views
0

젠킨스 파이프 라인 중에 노드 실행을 수신하는 플러그인을 작성하려고합니다. 노드에서 실행되는 작업, 나는 변경 관리 티켓을 확인하려는 전에RunListener 및 QueueListener가 파이프 라인에서 호출되지 않았습니까?

stage ('production deploy') { 
    input 'enter change ticket #'... 
    node('prod') { 
     // production deploy code here 
    } 
} 

이 어느 노드의 할당에, 또는 승인되었습니다 파이프 라인은 다음과 같이 몇 가지 코드를해야합니다. 프리 스타일 작업의 경우 QueueListener 또는 RunListener를 사용할 수 있지만 파이프 라인을 실행할 때 이들 중 어느 것도 호출되지 않습니다.

파이프 라인 스크립트를 편집 할 수있는 모든 사람이 확인을 제거 할 수 있으므로이 코드를 파이프 라인 스크립트에 넣을 수 없습니다.

노드가 파이프 라인에 할당되기 전 또는 연결될 수있는 다른 리스너가 있습니까?

+0

그래서 RunListener fireStarted와 fireCompleted가 모두 호출됩니다. 문제의 범위를 내 RunListener 확장으로 축소하여 Run의 targetType과 일치하지 않거나'l.onStarted (r, listener)'가 예외를 throw하고 있습니다. – RainierWolf

답변

0

프리 스타일 빌드에 대한 이전 구현에서는 setUpEnvironment 메서드를 재정의했습니다. 나는 이것이 파이프 라인 실행에서 호출되지 않았다는 것을 깨닫지 못했다. 그런 다음 RunListener에서 onStarted를 구현했으며 코드를 성공적으로 파기했습니다. 내 부분에 혼란스러워.

관련 문제