왜 빌드 후 단계 (xcopy)가 TeamCity 빌드에서 코드 2와 함께 종료합니까?
내 클라이언트 솔루션의 일부 프로젝트에는 빌드 후 이벤트 ( xcopy
특정 폴더에 대한 빌드 출력)가 있습니다. 이 로컬에서 빌드 할 때 잘 작동합니다. 그러나 인 TeamCity에, 나는 가끔 얻을
xcopy [...] 코드 2로 종료.
일반 사용하면 copy
코드 1로 종료됩니다. 복사되는 특정 파일이 동일하지 않는 것이 좋습니다 파일 잠금과 관련이있을 것이 예상 공유 대상에서 잠글 수 있습니다. 내가 사용하는 /y
파일을 쓰기 쓰기에없는 프롬프트.
TeamCity에서는 실패하지만 로컬에서는 실패하는 이유는 무엇입니까?
/Y
xcopy와 함께 스위치 를 제공하지만 xcopy가 복사하는 것이 파일인지 디렉토리인지 알지 계속 오류가 계속 발생합니다. 이 오류는 "exited with code 2"로 나타납니다. 명령 프롬프트에서 동일한 xcopy를 실행하면 xcopy가 파일 또는 디렉터리의 응답을 요청하는 것을 볼 수 있습니다.
자동화 된 빌드 로이 문제를 해결 비용 파이프를 사용하여 미리 정의 된 응답으로 에코 할 수 있습니다.
복사하는 것이 파일이라고 말하려는 경우 echo in F
:
echo F|xcopy /y ...
복사하는 것이 디렉토리라고 말하려는 경우 echo in D
:
echo D|xcopy /y ...
방법 위의 문제는 xcopy 대신 복사 명령을 사용하여 사용할 수 있습니다.
copy /y ...
그러나 최종 파일 대상으로 이어지는 존재하지 않는 디렉토리가있는 경우 "exited with code 1"이 발생합니다.
기억하십시오 : /C
스위치와 xcopy를 사용하십시오 .
내 경로 끝에 \를 추가하여 오류 코드 2를 수정했습니다.이 코드가 제외 된 xcopy는 폴더가 아닌 파일이라고 생각합니다.
빌드 후 이벤트에서 xcopy를 사용하는 경우 / C 외에 / Y 스위치를 사용합니다.
/C Continues copying even if errors occur.
/Y Suppresses prompting to confirm you want to overwrite an existing file.
이 문제에 대한 수정 사항은 bin 폴더로 이동하여 하위 폴더가 있는지 확인하는 것이 었습니다. 하위 폴더가 수동으로 생성되면 빌드 프로세스가 사용하여 완료됩니다.
copy
나를 위해 고쳤습니다. xcopy with /c /y
작동하지 않았다. 나는 출구 4를 가지고 있었기 때문에 함께 xcopy
갔지만 주위에 따옴표가 필요했습니다 ($TargetPath)
.
내 펼쳐 :
if $(ConfigurationName) == Debug copy "$(TargetPath)" "$(SolutionDir)\Folder\bin\Debug\$(TargetFileName)"
아마도 git과 함께 TeamCity를 사용하고있을 것입니다. 모든 것을 복사하려는 폴더 가 git 저장소에 있는지 확인하십시오 . 일반적으로 git aviod는 빈 프로젝트 폴더를 저장소에 추가하는 방법에 xcopy
오류가 발생합니다.
빈 폴더에 빈 텍스트 파일을 추가하고 커밋하고 저장소에 폴더를 만들 것을 볼 수 있습니다.
'IT' 카테고리의 다른 글
JavaScript를 통해 사용자 로컬 LAN IP 주소를 얻을 수 있습니까? (0) | 2020.09.11 |
---|---|
기능의 설명 (0) | 2020.09.11 |
다음 섹션이 정의 레이아웃 페이지 "~ / Views / Shared / _Layout.cshtml"에 대해 논의되지 않습니다. "서비스" (0) | 2020.09.11 |
bash에서 json 파일을 구문 분석하기 위해 jq 출력에서 큰 따옴표를 제거하는 방법은 무엇입니까? (0) | 2020.09.11 |
div 배경색, onhover 변경 (0) | 2020.09.11 |