2012-10-09 2 views
6

현재 젠킨스 빌드에서 결과를 검색하는 간단한 플러그인을 개발 중입니다. 나는 알리미를 연장하고 정보를 얻기 위해 build.getResults()을 사용하고있다. 그러나 플러그인을 업로드 할 때 빌드 후 작업으로 설정할 수 없습니다.
빌드를 실행하면 빌드가 실행되는 동안 결과를 얻으려고하기 때문에 내 빌드가 build.getResults()에서 중단됩니다.

제대로 빌드 결과를 얻으려면 어떻게해야합니까?
젠킨스 포스트 빌드 플러그인 개발

답변

1

소리가 너무 단순하기 때문에 플러그인이 필요합니까? 대신 Groovy Postbuild step을 사용하십시오. 그들은 쓰기가 훨씬 쉽습니다. 링크에는 몇 가지 좋은 사용 예가 있습니다. 플러그인이 정말로 필요하다고 결정하면, 직접 플러그인을 작성하는 대신 기존 플러그인을 확장 할 수 있는지 확인하십시오. Jenkins 플러그인 작성 기능을 이해하는 더 쉬운 방법입니다.

+0

저는 Groovy Postbuild 플러그인을 사용하여 (Coverity Connect 6.5.3에 의해 노출 된) 보안 웹 서비스를 호출하고 PermGen (JDK 1.7 업데이트 15)이 부족한 Jenkins JVM 전체에 문제가있었습니다. 지금까지 Groovy Postbuild 플러그인은 SonarQube의 REST 서비스를 호출하는 데 효과적이었다. 요약하면, Groovy Postbuild 플러그인에는 한계가있을 수 있습니다. – buzz3791

+0

이 대답은 기존 플러그인 사용을 제안하기 전에이를 수행하는 방법에 대한 예제를 제공해야합니다. –

+0

@JohnZeller 제공된 링크에는 사용 예제가 많이 있지만 그 내용을 명확하게하기 위해 편집했습니다. –

2

가장 좋은 것은 existing plugins which use Notifier extension point (플러그인 목록 구현을 클릭하면 확대)입니다.

config.jelly뿐 아니라 Descriptor 구현 클래스가 있는지 확인하십시오. 또한 jenkins.out 및 jenkins.err 로그에서 예외 (예 : 잘못된 형식의 config.jelly)가 있는지 확인하십시오.

편집 : 사실,이 플러그인의 알리미 서브 클래스 알리미가 가서 정말 간단 같습니다 https://wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin, 특히 GamePublisher.javaconfig.jelly 해당하고, 전체 외부 클래스를 만든되었습니다 GameDescriptor.java을,의 (보통 기술자는 내부 클래스)를 참조하십시오. 또한 Jenkins의 글로벌 구성에 대한 옵션을 원할 경우 global.jelly이 필요하지만 그런 옵션이 없다면 설정을 무시할 수있는 것입니다 (config.jelly와는 달리 알리미가 있어야 함에도 불구하고 비어있는, 여기처럼).

일반적으로 일이 제대로 작동하지 않을 때 실제로 성가 시게 될 수 있습니다. 오류가 없으면 Jenkins가 귀하의 콘텐츠를 표시하지 않습니다. 단지 일을하고 싶다면 당신은 Groovy 빌드 단계를 사용하는 것이 더 쉬울 수도 있지만, 다른 것들을 위해 일할 수있게하려면 괜찮은 전체 플러그인을 사용하면 지원 요청이 줄어 듭니다.