Jenkins 프로젝트가 있고 프로모션 플러그인을 사용하여 빌드를 승격하고 Windows 배치 명령을 사용하여 대상 디렉토리의 아티팩트를 원격 공유로 복사 할 수 있습니다. 나는 이것을한다:
net use \\remoteserver\$myshare myUser /user:myPass
copy /y target\myartefact.apk \\remoteserver\$myshare\myartefact.apk
이것은 잘 작동하고 인공물을 복사합니다. 그러나 현재 작업 공간 (예 : 최신 빌드)에서 복사합니다.
따라서 이전 빌드를 승격하면 해당 빌드의 아티팩트가 복사되지 않고 현재 작업 공간 / 최신 빌드에서 복사됩니다.
Windows 배치 명령에서 다음 줄을 변경해야한다는 것을 알고 있습니다.
copy /y target\myartefact.apk \\remoteserver\$myshare\myartefact.apk
그러나 무엇으로 변경합니까? target \ myartefact.apk 대신 빌드 디렉토리를 참조하기 위해 어떤 환경 변수 / 경로를 사용합니까?
다음과 같은 것이 필요하다고 가정합니다.
copy /y %JOB_NAME%\target\myartefact.apk \\remoteserver\$myshare\myartefact.apk
누구든지이 명령을 도울 수 있습니까?
나는 그것을 알아 냈고 다음 복사 명령을 사용하여 관련 빌드 아카이브에 액세스 할 수있었습니다.
copy /y ..\builds\%PROMOTED_ID%\archive\target\myartefact.apk \\remoteserver\$myshare\myartefact.apk
% PROMOTED_ID % 환경 변수는 프로모션 플러그인을 사용할 때 원래 빌드의 디렉토리입니다. 일반적인 % BUILD_ID % 환경 변수를 대체합니다. 따라서 프로모션 플러그인을 사용하지 않는 경우 다음을 사용하여 이전 빌드 아티팩트에 액세스 할 수 있습니다...\builds\%BUILD_ID%\archive\target\myartefact.apk
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다