2009-11-25 51 views
1

當試圖編譯TeamCity的一個項目,我從cleartool得到一個錯誤:ClearTool錯誤:操作「得到明文」失敗:權限被拒絕

"get cleartext" failed: Permission denied.

發生故障的命令是cleartool接到一通電話:

cleartool get -to C:\TeamCity\temp\cc_35875temp V:\andrew_CI_view\My_vob\[email protected]@\main\branch\7\Apps\main\branch\1\MyProject.Apps.FileTransferUtility\main\branch\1\App.xaml\main\branch\1 

什麼雖然奇怪的是,如果我手動從命令行執行此命令,它工作正常(ERRORLEVEL爲0,沒有錯誤消息,等等)。

有沒有其他人看過這樣的信息,或者有什麼想法可能會出錯?


這裏是我設置的細節:

  • 的TeamCity專業版4.5.5(建立9103)
  • TeamCity的是使用它的構建代理我的用戶帳戶。
  • 的TeamCity試圖連接到ClearCase動態視圖: d:\ CCdata \的SnapView \ andrew_CI_view從管理

設置>編輯生成配置>編輯VCS根頁:

  • 類型VCS的:ClearCase的
  • ClearCase視圖路徑:V:\ andrewCIview
  • 在視圖中
  • 相對路徑:My_vob \ MyProject的
  • 使用ClearCase的:BASE
  • 沒有結帳規則

的ClearCase 7.0.1.3-IFIX01

配置規格的動態視圖:

element * CHECKEDOUT 
element * .../MyProject/LATEST 

下面是從相關線路teamcity-vcs.log

[2009-11-25 13:20:20,905] INFO [ Cached pool 12] -  jetbrains.buildServer.VCS - ClearCase executing cleartool get -to C:\TeamCity\temp\cc_35875temp V:\andrew_CI_view\My_vob\[email protected]@\main\branch\7\Apps\main\branch\1\MyProject.Apps.FileTransferUtility\main\branch\1\App.xaml\main\branch\1 
[2009-11-25 13:20:20,905] INFO [ Cached pool 12] - .clearcase.ClearCaseConnection - interactive execute: cleartool get -to C:\TeamCity\temp\cc_35875temp V:\andrew_CI_view\My_vob\[email protected]@\main\branch\7\Apps\main\branch\1\MyProject.Apps.FileTransferUtility\main\branch\1\App.xaml\main\branch\1 
[2009-11-25 13:20:21,155] INFO [ Cached pool 12] -  jetbrains.buildServer.VCS - ClearCase executing cleartool quit 
[2009-11-25 13:20:21,155] INFO [ Cached pool 12] - .clearcase.ClearCaseConnection - interactive execute: cleartool quit 
[2009-11-25 13:20:21,155] WARN [ Cached pool 12] -  jetbrains.buildServer.VCS - Failed to build patch for build #15, build id: 17, VCS root: ClearCaseVCS, due to error: java.io.IOException: cleartool: Error: Operation "get cleartext" failed: Permission denied. 
jetbrains.buildServer.vcs.VcsException: java.io.IOException: cleartool: Error: Operation "get cleartext" failed: Permission denied. 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.CCPatchProvider.loadFile(CCPatchProvider.java:171) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.CCPatchProvider.access$200(CCPatchProvider.java:31) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.CCPatchProvider$2.processFile(CCPatchProvider.java:111) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.structure.CacheProcessor.processAllRevisions(CacheProcessor.java:71) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.structure.CacheElement.processAllVersionsInternal(CacheElement.java:178) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.structure.CacheElement.processAllVersions(CacheElement.java:96) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.ClearCaseConnection.processAllVersions(ClearCaseConnection.java:665) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.CCPatchProvider.buildPatch(CCPatchProvider.java:52) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.ClearCaseSupport.buildPatchForConnection(ClearCaseSupport.java:294) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.ClearCaseSupport.buildPatch(ClearCaseSupport.java:281) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.ClearCaseSupport$7.buildPatch(ClearCaseSupport.java:755) 
    at jetbrains.buildServer.serverSide.impl.projectSources.BuildPatchUtil$1.buildPatch(BuildPatchUtil.java:2) 
    at jetbrains.buildServer.vcs.VcsSupportUtil.buildPatch(VcsSupportUtil.java:81) 
    at jetbrains.buildServer.serverSide.impl.projectSources.BuildPatchUtil.buildPatch(BuildPatchUtil.java:2) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchComposer.buildCleanPatchToStream(PatchComposer.java:121) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchComposer.access$100(PatchComposer.java:65) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchComposer$2.constructPatch(PatchComposer.java:1) 
    at jetbrains.buildServer.serverSide.impl.projectSources.SmallPatchCache.getCachedCleanPatch(SmallPatchCache.java:36) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchCacheImpl.requestCachedPatch(PatchCacheImpl.java:25) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchComposer.getOrMakeCacheableCleanPatch(PatchComposer.java:140) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchComposer.makePatch(PatchComposer.java:36) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchComposer.buildPatchForRoot(PatchComposer.java:71) 
    at jetbrains.buildServer.serverSide.impl.projectSources.PatchComposer.buildPatch(PatchComposer.java:125) 
    at jetbrains.buildServer.serverSide.impl.BuildTypeImpl.buildPatch(BuildTypeImpl.java:290) 
    at jetbrains.buildServer.serverSide.impl.BuildTypeImpl$$FastClassByCGLIB$$a84db719.invoke(<generated>) 
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) 
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) 
    at jetbrains.buildServer.serverSide.impl.auth.TeamCityMethodSecurityInterceptor.invoke(TeamCityMethodSecurityInterceptor.java:33) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 
    at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:582) 
    at jetbrains.buildServer.serverSide.impl.BuildTypeImpl$$EnhancerByCGLIB$$effc1aaa.buildPatch(<generated>) 
    at jetbrains.buildServer.serverSide.impl.BuildStarter$2.call(BuildStarter.java:5) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:123) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) 
    at java.lang.Thread.run(Thread.java:595) 
Caused by: java.io.IOException: cleartool: Error: Operation "get cleartext" failed: Permission denied. 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.process.InteractiveProcess.executeAndReturnProcessInput(InteractiveProcess.java:64) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.ClearCaseConnection$ClearCaseInteractiveProcess.copyFileContentTo(ClearCaseConnection.java:997) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.ClearCaseConnection.loadFileContent(ClearCaseConnection.java:308) 
    at jetbrains.buildServer.buildTriggers.vcs.clearcase.CCPatchProvider.loadFile(CCPatchProvider.java:141) 
    ... 37 more 

回答

1

發現從這個線程解決方案:

http://www.jetbrains.net/devnet/thread/283380

看起來這是由具有分配給TeamCity的Web服務器服務的用戶錯誤造成的。將用戶從本地SYSTEM帳戶更改爲我的用戶帳戶解決了問題。

+0

沒有馬上看到您的答案:好點。 +1 – VonC 2009-11-25 21:54:02

1

這一般是由於執行該客戶機上此訪問的用戶權限不足:

MyVob.vbs/s/sdft池可能有權限加載與用戶聲明

你可以嘗試CLEARCASE_PRIMARY_GROUP不兼容直接從用戶機器中去sdft池並嘗試添加一個文件。

檢查TeamCity進程實際使用哪個用戶。

+0

我想我通過更改TeamCity Web服務來使用我的用戶帳戶而不是本地SYSTEM帳戶來解決問題。我很奇怪Web服務需要這些權限。我想我只是不瞭解TeamCity那麼好,以及它在後臺真正做什麼。 – 2009-11-25 21:06:08

0

如果它在命令行中適用於您,您必須確保從TeamCity運行它的環境與您的命令行環境相同。

坦米爾,GoMidjets

相關問題