2013-04-10 1 views
1

FxCop과 TFS2010의 통합에 관한 특정 요구 사항이 있습니다. 요구 사항은 다음과 같습니다. - 특정 간격으로 build.in을 실행하십시오 (이미 방법이 있습니다). - 각 빌드 후에 FxCop을 실행하십시오. (너무 간단하고 알려진다.) - 어떤 것이 실패하면, TFS 버그 항목을 생성하고 파일을 마지막으로 체크인 한 사람에게 할당해야한다.FxCop - TFS 통합 : FxCop이 실패한 경우 마지막으로 체크인 한 사람에게 TFS 버그를 작성해야합니다.

우리는 'gated checkin'이 최선의 방법이라는 것을 알고 있습니다. 그러나 몇 가지 이유로 우리는 그것을 채택 할 수 없습니다. 우리가 직면 한 도전은 마지막으로 각 파일을 검사 한 사람에 대한 버그를 만드는 것입니다.

누구나 전에이 유형의 솔루션을 수행 했습니까? 이 코드를 사용할 수있는 코드가 있습니까?

미리 감사드립니다.

+0

매우 구체적이고 당신이 CI는 정문의 체크인과 구축을 언급로 희박 공개, 일반적인 경우에 이러한 구현이있을 것이다, 다른 옵션이 될 것 같습니다 각 파일을 마지막으로 변경 한 사람에 대한 케이스를 닫을 수 있습니다 체크인 전에 FxCop을 실행하기위한 체크인 정책을 배포해야합니다. 해결책은 api를 사용하는 것이 그리 어렵지 않습니다. FxCop 오류 (또는 오류 파일) 목록을 가져와 항목을 찾고 원본 컨트롤 기록에서 마지막으로 체크인하는 빌드 활동이 필요하며 제출자에게 버그가 발생합니다. – drk

+0

감사합니다. 우리는 TFS SDK를 사용하여 개발을 시작했습니다. 우리는 코딩을 피할 수 있도록 공개적으로 사용 가능한 비슷한 솔루션/코드를 찾고있었습니다 :-). –

+0

제가 제안 할 수있는 유일한 프로젝트는 http://tfsbuildextensions.codeplex.com/입니다.하지만 그들은 정확하게 사례를 가지고 있을지 의심 스럽지만 여전히 좋은 예 또는 자신의 노력에 대한 지침이 될 수 있습니다. – drk

답변

2

전체 부분을 코딩하여 완성되었습니다.

  1. 최신을 타고 exsting 빌드 스크립트를 실행() 빌드 스크립트의 끝에서 PDB뿐만 아니라
  2. 을 생산하는 FxCopCmd를 사용하여 FxCops를 시작하고 XML 파일로 출력을 얻을 다음과 같이 기본적인 아이디어는
  3. XML을 구문 분석, 즉 C 실패 리뷰
  4. TFS 경로에 파일 경로를지도 위의 XML 노드
  5. 에서 코드 파일 경로를 추출 (포함하는 XML 메시지 노드를 찾아 : \ TFS 경로 코드는 $로 시작을 \ code)
  6. 마지막으로 체크인 한 사람의 세부 정보 찾기
  7. 해당 사람에게 버그를 만들어 할당하십시오.

큰 코드베이스와 고주파수 코드 체크 인으로 인해 gated checkin을 구현할 수없는 프로젝트에만 해당됩니다. 그러나 자동화 된 리뷰를 구현해야했습니다.