2016-08-22 2 views
0

Jipkins에서 Pipeline 스크립트를 사용하고 있습니다. 스크립트 끝 부분에서 Jenkins\jobs\MyMultiBranch\branches\master\builds의 일부 내용 (예 : 일부 로그 및 build.xml)을 삭제/이동하려고합니다.Jenkins - 'builds'디렉토리에서 파일을 정리/이동하는 방법

파이프 라인을 사용하여 어떻게 수행 할 수 있습니까? 나는 이것을 시도했다;

bat "del /F \"C:\\Program Files (x86)\\Jenkins\\jobs\\MyMultiBranch\\branches\\master\\builds\\%BUILD_NUMBER%\\build.xml\"" 

그러나 작동하지 않지만 파일은 그대로 있습니다. 누구든지 도와 줄 수 있습니까?

답변

2

젠킨스가 자체 작업 디렉토리를 삭제할 수 없다는 것은 의미가 있습니다. 당신이 할 수있는 일은 Daniel이 말한 것처럼 저장하려는 이슈를 먼저 저장 한 다음 job A 작업 공간을 정리할 두 번째 작업 (예 : delete-job)을 트리거하는 것입니다. 그 결과는 다음과 같습니다 삭제 - 작업이 job A 폴더를 삭제 할 수 있도록하기위한

// First save out anything you want 
archiveArtifacts artifacts: '**/saveme.log' 

// At the very end of your pipeline, call delete-job with the path you want to delete as a build parameter 
build job: 'delete-job', quietPeriod: 5, wait: false, parameters: [[$class: 'StringParameterValue', name: 'folderToDelete', value: "${pathToFolderToDelete}"]] 

조용한 시간은 충분합니다.

delete-job은 단순히과 같습니다 pathToFolderToDelete 자동으로 작업 매개 변수를 기반으로 젠킨스에 의해 infered 변수입니다

node() { 
    bat "del /F '${pathToFolderToDelete}'" 
} 

.

+0

예, 체인 된 작업은 작업이 완료 될 때까지 잠금을 해제 할 수 없다는 것을 알고 있기 때문에 가능한 해결책입니다. 나는 이것을 시도하고 돌아올 것이다. – stratovarius

+0

이 질문에 답했습니다 (내 것과 달리). +1 : –

+0

아주 잘 돌아갔다. 둘 다 감사합니다. 마지막 질문 하나; 한 줄에 didnt 일을 준 다음과 같이 변경해야합니다. 'bat "del/F \"$ {pathToFolderToDelete} \ "" cygpath 플러그인과 같은 것을 사용하고 있습니까? 작동하는지 테스트 해 보셨습니까? – stratovarius

관련 문제