2012-02-14 5 views
3

우리는 지속적으로 통합 환경 (사실, TFS Gated Checkin의 일부로 모든 자바 스크립트 파일에서 JSHINT를 자동으로 실행하려고하지만 속도에 따라 달라질 수 있습니다. jshint를 빌드 프로세스의 일부로 자동화하는 방법은 무엇입니까?

나는이 같은 코뿔소 - jshint를 사용하여 시도 :

java -jar js.jar jshint-rhino.js myFile.js 

하지만 어떻게 내가 필요한 JSHint 옵션을 설정할 수 있습니다? myfile.js의 맨 위에있는 주석에 나열 할 수 있지만, 자바 스크립트 파일이 많아서 모든 소스 파일에 옵션이 중복되는 것을 원하지 않습니다. (또는 JavaScript에 내가 모르는 '포함'기능이 있습니까?)

options.js 파일을 명령 줄에서 매개 변수로 전달하고 버전 제어하에 options.js을 유지하고 싶습니다. 하지만 jshint-rhino.js에서는 이것이 가능하지 않다고 생각합니다.

또한 우리가 저장 한 모든 JavaScript 파일을 'JSHint'하기 위해 Visual studio extension을 사용하고 있습니다. 그러나이 도구는 명령 줄에서 실행할 수 없습니다. 우리는 Visual Studio 내에서 JSHint를 실행하고 CI 빌드를 위해 자동화 한 다음 두 옵션을 복제하지 않고 (그리고 실제로 버전 제어하에 옵션을 유지하는) 두 가지 장점을 모두 원합니다.

다른 사람들이 어떻게 개발 프로세스에서 JSHint를 자동화합니까?

+0

은 워크 플로 기반의 자동화 된 빌드시 실행하려면이 단지 명령 줄 유틸리티를인가? –

+0

@Ed - 예, 요약 해 두었습니다. 지금 SharpLinter를 사용하고 포스트 빌드 이벤트의 일부로 분석을 실행합니다. – GarethOwen

답변

2

기본적으로 TFS 2010 빌드 프로세스 내에서 명령 줄 활동을 사용하려는 경우 실제로는 매우 간단합니다. 이 도구를 실행하려는 시점에 InvokeProcess 워크 플로우 작업 (see MSDN documentation)을 추가하려고합니다.

실제로 다른 명령 줄 유틸리티를 사용하여이 작업을 수행하는 방법에 대해서는 walkthrough이 있지만 실제로는 다른 것으로 바꾸십시오. 워크 플로 활동은 심지어 당신이 전달할 수있는 명령 줄 매개 변수를 지정할 수 있습니다.

+0

InvokeProcess 링크를 제공해 주셔서 감사합니다. TFS 빌드를 처음 사용하고 빌드 시퀀스의 일부로 간단한 명령 행 호출을 추가하는 것은 처음 보았을 때 복잡해 보였습니다.하지만 결국 간단 할 수도 있습니다. – GarethOwen

+0

확실히! 이 문제가 결국 해결 되었습니까? –

+0

여전히 빌드 후 이벤트로 호출합니다.그것은 작동하고 빠르고, 그래서 InvokeProcess (아직)로 할 필요가 없어. – GarethOwen

3

TFS 내가 추천 할 것입니다 구축 실행하는 동안 당신이 자바 스크립트를 확인하려면 sharplinter를 살펴 갖는

https://github.com/jamietre/SharpLinter

이 당신이 JSLint/JSHint와 자바 스크립트 파일을 확인 할 수있는 실행 파일이 포함되어 있습니다. 이것을 TFS 빌드 중에 실행하려면 작업 흐름에 포함시킬 수있는 코드 활동을 만들 수 있습니다.

Techdays 2012의 Marcel de Vries가 제작 한이 비디오는 단계별로 자동 빌드 프로세스를 단계별로 수행하고 사용자 지정 작업을 포함시키는 방법에 대한 데모를 제공합니다.

http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2361

+0

실제로 SharpLinter를 사용하고 있습니다. 우리는 주어진 스튜디오 프로젝트에서 모든 자바 스크립트 파일을 찾아서 SharpLinter로 전송하는 배치 파일을 가지고 있습니다. 우리는 배치 파일을 비주얼 스튜디오 프로젝트의 포스트 빌드 이벤트라고 부릅니다. 우리는 아직 Visual Studio 2012로 업그레이드 할 수 없었습니다. 우리는 2010을 사용하고 있습니다. – GarethOwen

+0

즉, TFS 빌드 중에 코드가 확인되지는 않지만 코드는 로컬 환경에서만 검사됩니다. 이 방법이 효과가 있다면 변경할 필요가 없지만 팀과 함께 작업하는 경우 실제 TFS 빌드에서 오류를 확인할 가치가 있습니다. 이 게시물은 샤프 립터를 통합하기위한 출발점 이었으므로 도움이되지 않더라도 도움이 될만한 다른 사람들이있을 수 있습니다. :) –

+0

오, 그렇습니다. SharpLinter는 훌륭합니다. 그러나이 솔루션은 로컬 환경을위한 것은 아닙니다. PostBuild 이벤트가 실패하면 TFS 빌드도 실패합니다. 명령 줄에서 MSBuild를 사용하여 프로젝트를 빌드하고 ostBuild 이벤트가 TFS 빌드에서 사용하는 프로젝트 구성에 존재하기 때문입니다. 이 솔루션은 약 10 명의 개발자 팀으로 구성되어 있습니다. – GarethOwen

관련 문제