2017-01-30 4 views
0

팀에서 Jenkins에서 코드를 작성하고 테스트했으며 빌드 프로세스가 완료되면 Jenkins는 SNAPSHOT.jar 파일을 생성합니다. snapshot.jar 파일의 압축을 풀고 추출 된 파일과 폴더를 네트워크 드라이브로 보내야합니다. 그렇게하는 가장 좋은 방법은 무엇입니까?Jenkins에서 네트워크 드라이브로 이슈 파일 (SNAPSHOT.jar)을 추출하고 내보내는 방법

가장 최근의 artifactDeployer 인 Jenkins 플러그인 몇 개를 사용해 보았습니다.하지만 플러그인이 빌드 후 작업으로 이슈를 배포 할 때 jar 파일을 압축 해제하지 않습니다. 나는 그들을 배치하기 위해 배치 한 후에 윈도우 일괄 처리 명령을 실행해야하지만, 플러그인이 "빌드 후 조치"로 실행되고 일괄 처리 명령이 빌드 후 조치 전에 완료되기 때문에 캔트 할 수 없습니다. 아티팩트를 배포하고 플러그인을 사용하지 않고 압축을 풀 수있는 방법이 있습니까? 아니면 둘 다 할 플러그인이 있습니까? 이것을 달성하는 가장 좋은 방법은 무엇입니까?

+0

간단한 빌드 시스템에 적절한 네트워크 드라이브/경로를 마운트하고 그 영역에 복사 할 수있는 Samba 마운트를 수행하십시오 .... – khmarbaise

+0

Samba는 파일을 보내기 전에 snapshot.jar 파일의 압축을 풀 수 있습니까? – EXC3ll3NTrhyTHM

+0

당신은 삼바 산이 무엇인지 이해하지 못합니다 ... 항아리로 뭔가를 할 수는 없습니다 ... 당신은 그런 것들을하는 스크립트를 작성할 수 있습니다 ... – khmarbaise

답변

0

내가 수행 한 방식은 Windows 배치 명령에서 7zip을 jenkins 프로젝트 구성의 사후 단계로 사용하는 것입니다.

명령은 다음과 같습니다

`7z x %WORKSPACE%\target\*.jar -oX:\"mapped network drive location" -y` 

이는 snapshot.jar 파일에서 아티팩트를 추출하여 네트워크 드라이브에 그 유물을 배치합니다. 빌드가 완료되면 snapshot.jar에 포함 된 파일을 네트워크 드라이브로 보내야했습니다. 나는 jenkins에 익숙하지 않고 내가 시도한 플러그인은 post-build 액션이었고 주어진 위치에 snapshot.jar 만 복사했다. 그들은 항아리 파일에서 유물을 추출하지 않았습니다. 그래서 내가이 길을 선택했다.