2013-12-10 6 views
1

CI 용 TeamCity를 사용하고 있습니다. 내 단위 테스트 중 일부는 실행될 때 파일을 생성하며 (Selenium 기반 테스트가 실패 할 때 브라우저 스크린 샷)이 파일은 Environment.CurrentDirectory에 저장됩니다.TeamCity 예술 작품에 생성 된 파일 포함

C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\SYSTEM_servername 2013-12-10 18_05_14\Out

나는 TeamCity artifacts 이러한 파일을 포함 할,하지만이 가능한 인 TeamCity는 체크 아웃 디렉토리에 따라 유물을 찾습니다 보이지 않는다.

하나의 해결 방법은 생성 된 파일을 하드 코딩 된 경로 (예 : C : \ temp)에 저장하는 것이지만 이상적인 방법은 아닙니다. 더 깨끗한 대안이 있습니까?

+0

일반적으로 빌드 스크립트에 다른 빌드 단계를 추가합니다. 테스트가 실행 된 후에 원하는 모든 파일을 TC가 수집 한 디렉토리에 복사 할 수 있습니다. – BartoszKP

+0

@ BartoszKP - 당신의 아이디어를 좀 더 자세히 설명해 주시겠습니까? –

+0

MSBuild를 사용합니까? 나는 내일 간단한 예제를 만들려고 노력할 것이다. – BartoszKP

답변

2

TeamCity에서 특정 경로를 가리키는 매개 변수를 찾을 수 있습니다.
그 중 하나가 유용하다고 판단되면 이슈 매개 변수를 사용할 수 있습니다. 라고 "buildTmp \ 임시 \ \ BuildAgent D"
:
는 예를 들어

합니다 (어떤 빌드 결과 로그에 매개 변수 탭에서 매개 변수를 찾을 수), 나는 가리키는 매개 변수를 발견 : system.teamcity.build.tempDir

가 그럼 난 이슈 경로에 그것을 사용하지만, 일부 개조하면 되겠와 :
퍼센트의 system.teamcity.build.tempDir %의 \ ** \ 아웃 \ errorScreenshots \ * => 오류 스크린 샷


(10) 내가 당신을 위해 길을 찢어 보자
"퍼센트의 system.teamcity.build.tempDir %의을":이 매개 변수를 ": \ BuildAgent buildTmp \ TEMP \ D를"폴더로 이동합니다.

"\ **": 알 수없는 폴더를 입력하십시오.이 경우 "srv_teamcity_TEAMCITY-3 2017-06-22 19_35_18"과 같이 일정한 날짜와 시간이 계속 변경됩니다.

"\ Out": "Out"폴더에 입력하십시오.

"\ errorScreenshots": "errorScreenshots"폴더에 입력하십시오. 오류가 발생하면 somescreenshots을 배치하기 위해이 폴더를 만들었습니다.

"\ *": 모든 종류의 파일을 가져오고 나를 위해 ".png"파일 만있었습니다.


"=> errorScreenshots": 이것은 Teamcity에 아티팩트보기 내에 폴더를 작성하라고 지시합니다. 많은 아티팩트가있는 경우 필요합니다. 그것은 물건을 더 분명히하는 데 사용됩니다.

희망이 회신은 유용합니다.

건배!