rake와 함께 멋진 albacore gem을 사용하여 새 .NET 프로젝트를 빌드하고 있습니다. 우리 조직은 여전히 NAnt를 사용하고 있으며, 빌드 스크립트가 실행될 때 로그 파일을 볼 것으로 예상되는 사람들이 많이 있습니다. STDOUT에 덤프 된 msbuild 태스크 출력을 로그 파일에 저장하려면 어떻게합니까?msbuild 출력을 레이크에서 로그 파일로 파이프하는 방법
2
A
답변
3
해결책을 찾았습니다. 우리는 CI 서버 (hudson)에 대한 빌드 로그 파일이 실제로 필요하지 않지만, 빌드가 로컬에서 실행될 때, 특히 체크인 댄스 및 빌드를 수행 할 때 실제 파일을 확인하는 것이 좋습니다. 실패합니다.
다행히 albacore 친구들은 똑똑해서 ".parameters"옵션을 만들었습니다.이 옵션을 명령 줄 도구 작업과 함께 사용하여 해당 작업에서 명시 적으로 처리하지 않는 매개 변수를 추가 할 수 있습니다. 예를 들어 msbuild 작업에 매개 변수를 추가하여 MSBuild에 대한 로그 파일을 지정할 수 있습니다. 그것은 더 많은 물건을 할 수 있기 때문에
BUILD_REPORTS = 'BuildReports'
MSBUILD_EXE = "C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe"
directory BUILD_REPORTS
CLEAN.include BUILD_REPORTS
task :default => [:build]
desc "Build the solution"
msbuild :build => BUILD_REPORTS do |msb|
msb.properties :configuration => :Debug
msb.path_to_command = MSBUILD_EXE
msb.targets :Clean, :Build
msb.solution = "./mysolution.sln"
msb.parameters "/l:FileLogger,Microsoft.Build;logfile=" + log_file("build")
end
def log_file(log_file_name)
BUILD_REPORTS + log_file_name + ".log"
end
우리 rakefile 좀 더 복잡한 것보다,하지만 당신은 아이디어를 얻을 : 그리고 이런 작은 선물을 간다.
관련 문제
- 1. Java 콘솔 출력을 파일로 파이프하는 방법은 무엇입니까?
- 2. 명령 출력을 Linux 파일에 파이프하는 방법
- 3. expect에서 로그 파일로 출력을 리디렉션
- 4. "puts"명령 출력을 로그 파일로 리디렉션
- 5. NAnt 로그 출력을 파일로 저장하려면 어떻게해야합니까?
- 6. restFB에서 로그 출력을 인쇄하는 방법
- 7. Java에서 입력 스트림을 압축 파일로 파이프하는 방법은 무엇입니까?
- 8. cmd 출력을 파일로 리디렉션
- 9. STDOUT가 아닌 파일에만 쓸 수있는 프로그램의 출력을 파이프하는 방법은 무엇입니까?
- 10. 그루비 메서드에서 stdout을 문자열로 파이프하는 방법
- 11. 고객의 전화에서 로그 출력을 sdcard로 리디렉션합니다.
- 12. Windows/WinXP 명령 : 스크립트 출력을 로그 파일로 파이프하고 출력을 표시하는 방법은 무엇입니까?
- 13. 파일로 출력 stderr을 출력하고 파일로 출력 st30out을
- 14. PSEXEC 출력을 로컬 파일로 리디렉션
- 15. 빌드 출력을 첨부 파일로 포함합니다.
- 16. JSP로 출력을 캡쳐하여 파일로 저장
- 17. 레이크에서 도우미를 어떻게 사용합니까?
- 18. 레이크에서 Rescue RuntimeError
- 19. 크래시 로그 출력을 이해하려고 시도했습니다.
- 20. MSBUILD 구성 : 출력을 준비 영역으로 복사
- 21. 파이썬. stderr를 로그 파일로 리디렉션
- 22. VB 스크립트에서 Psexec 로그 파일로 출력되지 않습니다.
- 23. java 로거 출력을 파일로 기본값으로 가져 오는 방법
- 24. Intersystems 캐시 SQL 쉘 : 쿼리의 출력을 파일로 스풀링하는 방법?
- 25. 윈도우의 bat 스크립트에서 txt 파일로 출력을 보내는 방법
- 26. 사용자 지정 빌드 작업 : 빌드 로그 파일에 출력을 쓰는 방법
- 27. 셸 세션의 모든 콘솔 출력을 로그 파일에 티핑하는 방법
- 28. DOS 명령을 호출하고 출력을 파일로 리디렉션
- 29. STDOUT 출력을 텍스트 파일로 저장하는 방법은 무엇입니까?
- 30. C# 프로세스 클래스가 비디오 파일로 출력을 리디렉션합니다.
레이크 작업은 어떻게하고 있습니까? CI 서버에서? 명령 줄에서? 또는? –
안녕하세요 Derick - 지금은 명령 줄에서 실행 중이며 곧 hudson에 연결될 것입니다. 허드슨은 레이크 실행의 실제 로그 파일 없이는 괜찮을 것이라고 사람들에게 확신 시켰습니다. 그리고 msbuild 및 nunit 작업의 ".parameters"옵션을 사용하여 출력을 로그하여 로그 파일에 대한 욕구를 충족 시켰다고 생각합니다. 나는 albacore를 좋아하고있다! 너네들 잘 해냈어. – dalesmithtx
cool. 예, hudson은 모든 STDOUT을 자체 로그로 캡처하기 때문에 hudson의 로그 파일은 실제로 필요하지 않습니다. 하지만 커맨드 라인에서 필요하다면 STDOUT을 파일로 리다이렉트 할 수있을 것입니다 : rake >> build.log –