2012-03-08 4 views
5

Jenkins에서 keep-forever로 표시된 모든 빌드를 나열하는 쉬운 방법이 있습니까? 그런 다음 이상적으로 한 번의 클릭으로 빌드를 영구 보존 상태로 해제하거나 즉시 삭제할 수 있습니까?Jenkins의 모든 빌드를 영구히 나열 하시겠습니까?

우리는 특정 유형의 오류가 발생하는 경우 빌드를 영원히 표시합니다. 젠킨스가 시간이 지남에 따라 자동으로 삭제되지 않도록하는 것입니다. 시간이 지남에 따라 모든 디스크 공간을 차지하지 않도록 모든 영구적 인 빌드 목록을 얻는 쉬운 방법이 필요합니다.

답변

8

젠킨스에 대해 다음 XPath 쿼리는 모두의 URL이 '영원히 계속'표시 빌드 나열합니다 :

http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever 

가 브라우저에 입력하고 반환 무엇을 참조하십시오.

이제는 XSLT 기반 HTML에 포함하여 해당 빌드에 대한 링크가있는 목록을 얻을 수 있습니다.

java -jar jenkins-cli.jar -s http://[jenkins_server]/ delete-builds [job-name] [build-num] 

불행하게도, 내가 사용하지를 삭제하지 않고 CLI와 '영원히 빌드를 유지'하는 방법을 모른다 : 빌드를 삭제하려면 젠킨스 CLI를 호출하는 버튼을 제공 할 수 있습니다.

+1

훌륭한 작품 - 귀하의 젠킨스가 너무 크지 않은 경우. 불행히도, 생산 젠킨스 몇 천 빌드와 함께 수백 작업이 있습니다. Java 스택에 공간이 부족합니다. 그러나 동일한 아이디어를 사용하여 작업과 빌드를 반복하고 동일한 작업을 수행하는 스크립트를 작성할 수 있습니다. 도와 주셔서 감사합니다! –

3

나는 같은 일을 찾고 있었어요, 우리 젠킨스도 꽤 크고 링크를 시도 :

http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever 

나는 그것을 충돌 결국.

하지만 결국 나는 한 번에 하나의 작업 만 마지막으로 '영원히'빌드해야한다고 밝혀졌습니다.

으로 표시된 빌드의 모든 숫자와 XML을 반환
http://[jenkisn_server]/job/[job_name]/api/xml/?depth=2&xpath=/freeStyleProject/build[keepLog="true"]/number&wrapper=forever 

당신은 당신의 필요에 맞게 XPath를 수정할 수 있습니다 '영원히 계속': 그래서 대신 다음 사용합니다.

+2

내가 뭘 잘못했는지 모르겠다. 이것이 내가 도움이 될 것이라고 생각한 것이다. 귀하의 의견은별로 도움이되지 않습니다. – teapothat

관련 문제