2013-04-10 9 views
1

저는 Jenkins 설치를 실험하여 현재 Windows 작업 스케줄러에서 시작되는 Automated Build Studio 스크립트로 구성된 CI 전략을 향상 시켰습니다. 통합하고자하는 소스 코드는 MSBuild를 통해 빌드하려고하는 .NET 솔루션입니다. 우리의 SCM으로Jenkins가 Starteam의 모든 파일을 체크 아웃하지 않았습니다.

우리는 (. 10.4 V) 스타 팀을 사용하고 젠킨스가 작업 공간에 파일을-체크 아웃 솔루션을 컴파일하려고 할 때 나는 현재 문제가 발생하고있다.

Jenkins StarTeam 플러그인에서 체크 아웃하지 않는 특정 파일 (항상 동일하게 나타남)이 있습니다. 분명히, 이러한 파일이 없기 때문에 젠킨스를 CI에 사용할 수 없습니다. Automated Build Studio 스크립트에서이 문제가 발생하지 않습니다. 모든 파일이 올바르게 체크 아웃되었습니다.

내 생각에는 체크 아웃되지 않는 C# 파일에는 특별한 것이 없습니다. 다른 프로젝트에 있고 다른 유형의 데이터 (일부 winforms, 일부 인터페이스)를 포함하고 있습니다. 같은 견해는 같은 방법 등

젠킨스의 스타 팀 폴링 로그 아무것도 공개하지 않습니다에서 스타 팀에 추가 된 것으로 나타납니다. 문제의 본질을 추적하기 위해 사용할 수있는 디버그 모드가 있는지 모르겠습니다.

아마 내가 설치를 실험하고있는 동안 현재 Jenkins가 데스크톱 PC (Win7)에서 로컬로 실행된다는 것을 추가해야합니다. 내 솔루션을 통합하기 위해 c : \ Program Files (x86) \ Jenkins \ Jobs \ JOB_NAME \ Workspace 의 기본 위치를 사용하고 있습니다.

여러분 중 일부는 우리가 현재 가지고있는 것보다 더 나은 CI 설치를하고 싶기 때문에 문제가 무엇인지에 대해 알기를 바랍니다.

답변

1

내가 문제를 식별하기 위해 관리 : 분명히, 개발자 중 하나 우리 팀은 StarTeam에 폴더를 추가 할 때 폴더의 기본 위치 속성을 변경하는 경우가 있습니다. 따라서 프로젝트 루트와 관련된 위치로 파일을 체크인하는 대신 저장소에 절대 경로가 생깁니다.

젠킨스 체크 아웃 중에 파일이 원래 위치에 다시 나타나면 파일을 원래 위치 (즉, 젠킨스 작업 폴더가 아닌)에서 삭제 한 후이를 확인할 수있었습니다. 이 문제를 더 자세히 조사하게 된 것은 cmd-line 유틸리티를 사용하여 StarTeam의 파일을 체크 아웃하여 다른 위치로 파일을 확인하는 것이 었습니다. 여전히 모든 파일을 체크 아웃하지 못했을 때 나는 젠킨스가 더 이상 책임이 없다고 생각했지만 그 대신 뭔가 잘못되었다고 생각했습니다.

내가 전에 알아 차리지 못했던 이유 중 하나는 StarTeam에 대한 저의 작은 경험과 우리 팀의 모든 개발자가 우리 개발 환경에서 동일한 매핑과 경로를 사용했기 때문입니다.따라서 절대 경로는 사용 된 경로가 동일하기 때문에 모든 시스템의 올바른 위치에 파일을 배치했습니다.

+0

StarTeam에는 체크 아웃되는 항목과 체크 아웃을 처리하기위한 자체 스크립트를 작성해야하는 위치를 제어하는 ​​데 사용할 수있는 몇 가지 명령 줄 옵션이 있습니다. 이 문서에서는 세부 정보를 제공합니다. http://techpubs.borland.com/starteam/2009/en/ST_CmdTools_Help_en.pdf –

0

기본적으로 StarTeam SDK는 외부 응용 프로그램과 통합 할 때 파일 체크 아웃을 처리합니다. 당신이 실행중인 클라이언트의 10.4 빌드가 꽤 오래된 것처럼 보이기 때문에 전체 클라이언트가 아니라면 SDK 빌드를 업그레이드 할 것을 권장합니다. 당신은 이론적으로 기존 2008 R2 클라이언트 설치에 대해 2009/2009R2 SDK를 실행할 수 있도록 클라이언트/SDK에 올 때

스타 팀은 상대적으로 좋은 전방/후방 호환성을 가지고있다.

은 지금까지 젠킨스 내에서 디버깅 모드, 명령 줄에서이 작업을 활성화 할 수 있습니다으로 다음 구문을 실행하여 :

java -Drally.debug="true" -jar jenkins.war --httpPort=9000

+0

Jenkins를 디버깅하는 방법에 대한 정보를 제공해 주셔서 감사합니다. StarTeam을 업데이트 할 수 없습니다. 우리 조직의 다음 단계 (SCM 현명한)는 TFS가 될 것이지만 그 일이 생길 때까지 기다릴 수 없으므로 젠킨스를 CI 서버로 경험할 수있는 'TFS- 라이트'솔루션으로 구현하기로했습니다. – llykke

+0

안녕하세요, 예, 작업 디렉토리 대 대체 작업 디렉토리는 완전히 이해하기 어려운 요소 일 수 있습니다. 파일을 다른 위치로 체크 아웃하는 것이 좋지만, 팀이 동일한 로컬 환경으로 StarTeam을 배포 할 때 문제가 발생할 수 있습니다. 마침내 당신은 그것의 바닥에 도착하게되어 기쁘다. – GraemeD