2012-06-21 76 views
1

我有一個Jenkins作業調用ClearCase驅動器(V :)上的批處理文件。Jenkins在映射驅動器上調用批處理文件

我的Jenkins從屬代理正在使用本地管理員帳戶作爲服務運行。 詹金斯工作做後續:

cleartool startview MY_VIEW 
cd /d "V:\MY_VIEW\Build" 
call PrepareBuild.bat 

當我運行詹金斯的工作,我不斷收到「訪問被拒絕」。在控制檯輸出中,當它試圖調用批處理文件時。但是,如果我手動在命令提示符下運行上述命令,它會成功完成。

我在Windows XP下沒有這個問題。有人知道爲什麼這會發生在Windows 7(32位)上嗎?

謝謝。

回答

3

V:\是用windows command subst獲得的虛擬驅動器。
它是動態視圖的根目錄(M:\yourView)和虛擬驅動器之間的快捷方式。
(即,V:\沒有特別鏈接到ClearCase的,它僅僅是一個驅動器字母用戶希望關聯到一定ClearCase視圖根目錄)

然而,ClearCase的寄存器該關聯在註冊表HKCU/software/atria/...

這意味着在Jenkins的本地管理帳戶下運行的ClearCase會話將不知道所述關聯和需要恢復該虛擬驅動器。

解決方法是使該驅動器永久使用,使用psubst
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]中註冊驅動器路徑,可從所有帳戶訪問HKLM
請參閱「How to make SUBST mapping persistent across reboots?

1

我有同樣的問題。有一個更簡單的解決方案。

Jenkins無權訪問只有用戶纔有權訪問的文件夾(即使由用戶運行它)。因此,獲取訪問權限的文件夾被拒絕,您需要爲所有人設置文件夾權限,而不是用戶

相關問題