2014-12-22 3 views
0

크루즈 컨트롤 1.8.5를 Visual Studio Online에 연결하여 테스트 빌드 및 실행 소스를 얻으려고 시도하고 있지만, 무엇이든지 항상 얻을 수 있습니다. 오류 'TF30063 : 권한이 없습니다.'Visual Studio 온라인 TF30063에 대한 순항 제어

here (가능한 경우 빌드 컴퓨터에 VS2013을 설치하지 않으려 고합니다.이 질문은 tf.exe 및 필요한 DLL을 바탕으로 복사됩니다. 이 시점에서의 개념 증명).

내가 here

이것은 cc.net 설정의 부분에 따라 대체 자격 증명을 사용하도록 설정 한 - 대괄호 안에 모든 것을 두 번 확인되었습니다 : 내 일반 자격 증명을 시도

<sourcecontrol type="vsts"> 
    <server>https://[account-name].visualstudio.com/DefaultCollection</server> 
    <project>$/[proj-name]</project> 
    <username>[alt-credential-username]</username> 
    <password>[alt-credential-password]</password> 
    <executable>[path-to-tf.exe]</executable> 
    <workspace>[workspace-name]</workspace> 
    <autoGetSource>true</autoGetSource> 
    <cleanCopy>true</cleanCopy> 
    <force>true</force> 
    <deleteWorkspace>true</deleteWorkspace> 
</sourcecontrol> 

의 대체 자격 증명, 심지어 ## LIVEID ## 언급 한 바와 같이 [ALT-자격 증명 - 사용자 이름] here

나는 항상 얻을 :

,
ThoughtWorks.CruiseControl.Core.CruiseControlException: TF30063: You are not authorized to access https://[account-name].visualstudio.com/DefaultCollection 

빌드 머신에서 수동으로 연결할 수있는 I 입니다. 소스 제어에서 예상되는 디렉토리를 성공적으로 다음를 인증을 실행하고 표시

tf.exe dir /folders /server:https://[account-name].visualstudio.com/DefaultCollection "$/[proj-name]" /login:[alt-credential-username],[alt-credential-password] 

것은 (이 둘 관리자와 관리자가 아닌 cmd를에서 작동) 나는 또한 '서비스 계정'을 얻을 수 this를 실행하려고 그러나 그것은 내가 ... 내가 수동으로 내가 tf.exe 지금 대체 자격 증명을 지원한다고 가정하고 cmd를/tf.exe을 사용하여 연결할 수 있지만 을 보았다

윈도우 7 64에 나를 위해 충돌

아마 내일 팀 익스플로러를 어디에서나 시험해 볼 것입니다. 비록 Java 기반이기 때문에 이것을 피하는 편이 낫겠지 만, 설정과 관련하여 또 다른 종속성/단계와는 별개의 문제는 없습니다.

나는이 시점에서 아이디어가 없으므로 조언이나 제안을 부탁드립니다!

UPDATE : 제안 피들러를 사용 는 다음

TF를 보여줍니다.

1)

https://icb.visualstudio.com/DefaultCollection/VersionControl/v5.0/repository.asmx 

비누 체 : EXE 커맨드 라인에서 얻을 두 요청을 보내는 workspaceName,시^Ownername, pendingChangeSignature 및 maxClientPathLength

2)에 대한 값

ReconcileLocalWorkspace [ xmlns=http://schemas.microsoft.com/TeamFoundation/2005/06/VersionControl/ClientServices/03 ] 

https://icb.visualstudio.com/DefaultCollection/VersionControl/v5.0/repository.asmx 

비누 바디 :

그러나 CC는 두 번이 요청을 보내는 workspaceName,시^Ownername, 요청에서 maxResults 및 maxClientPathLength

에 대한 값을
Get [ xmlns=http://schemas.microsoft.com/TeamFoundation/2005/06/VersionControl/ClientServices/03 ] 

:

https://icb.visualstudio.com/DefaultCollection/Services/v1.0/Registration.asmx 

비누 바디 :

GetRegistrationEntries [ xmlns=http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Registration/03 ] 

with toolId = vstfs

+0

흥미 롭습니다! 피들러 추적을 포착하고 커맨드 라인'tf'가 CruiseControl과 다른 점이 무엇인지 알아볼 수 있습니까? CruiseControl.NET 플러그인에서 실행 한 정확한 명령을 기록 할 수 있습니까? –

+0

나는 명령 행 (수동)을 시도하는 것이 더 합리적이라는 것을 깨달았고, 작업 공간을 먼저 만들어야하는데, 나는 그것을 수행하고 최신 상태로 만들 수 있어야한다. 그러나 fiddler는 CC가 작성하는 것보다 다른 요청을 표시합니다. 위의 내용을 업데이트했습니다. –

답변

1

짧은 답변 : 작업 공간 (안 로컬 시스템 계정)을 만드는 데 사용 된 동일한 사용자로 크루즈 컨트롤 .NET 서비스를 실행합니다.

Details : 크루즈 컨트롤 .net 소스를 얻었고 디버거를 연결하여 정확히 tf 명령이 오류를 생성했는지 확인했습니다. 실패했다

프로세스 정보 :

Executable = "...tf.exe" 
args = {dir /folders /server:https://[account-name].visualstudio.com/DefaultCollection "$/[proj-name]" /login:[alt-credential-username],[alt-credential-password]} 
workingDirectory = "[valid-working-dir]" 

수동으로이 명령을 실행 괜찮 았는데 - 로컬 시스템 계정으로 로그온하도록 설정 한 CC의 서비스 속성을 확인하는 나를 이끌었다. 작업 공간을 생성 할 때 사용한 것과 동일한 (Windows) 사용자로 로그온하도록이 업데이트를했는데 문제가 해결되었습니다.

나는 해당 tf.exe이 계정/자격 증명 영리한 뭔가를하고 또는 어쩌면이 작업 공간은 특정 윈도우 로그온에 연결되어 단지의 가정 할 수있다? 내가 제안에 대한 에드워드에

덕분에 바이올린 켜는 바이올린.

+0

예. 내가 본 또 다른 장소는 SVN이며 인증서를 수락하는 것입니다. 나는 CI 기계에 로그인해야만했다 ... CC.Net-Service를 운영하는 계정 하에서. 수동으로 commandline에서 (p) permenant (ly) accepting을 요구하는 svn 목록 (또는 무엇이든)을 실행해야했습니다. 그런 다음 CC.NET 서비스는 svn.exe를 훌륭하게 실행했습니다. – granadaCoder

관련 문제