我有一個MSBuild
,它通過Jenkins在其中一個組件中使用簽名代碼運行。通過Jenkins作爲另一個用戶運行構建時發生SignTool錯誤
當我在啓動Jenkins之後運行構建作爲Visual Studio項目最初構建的同一用戶時,它工作正常。但是,當我通過另一個本地管理員啓動的計劃任務以同一用戶身份運行項目時,即使進程列表中的用戶名相同,構建也會失敗。
因此,例如,說該項目正在建設精細,因爲用戶Admin
,無論是在Visual Studio和通過用戶Admin
啓動Tomcat上詹金斯實例啓動一個MSBuild
時。
當我切換用戶John.admin
,本地管理員,並運行我的計劃任務啓動Tomcat作爲用戶Admin
時,出現下列SignTool錯誤:
VCBUILD: SignTool error : ISignedCode::Sign returned error: 0x80092006
在進程列表,它Tomcat以Admin
用戶身份運行,與Admin
已經以startup.bat
啓動(Tomcat是獨立安裝)相同。
我一直在嘗試一段時間,但無法弄清楚爲什麼通過任務啓動時構建失敗。任何人都可以看到問題嗎?在機器重新啓動並通過另一個本地管理員啓動後,Jenkins必須建立成功。
編輯:我複製所有證書的Admin
用戶(使用管理單元),所有%PATH%
,%CD%
,%USERPROFILE%
變量是相同的,任務是從同一個文件夾中運行。唯一的區別是我可以看到的是,用戶會話ID是不同的。我知道這一點,因爲如果我以John.admin
開始計劃任務,然後以Admin
登錄,則java.exe不在進程列表中,直到我單擊「show processes from all users」,然後顯示它以用戶身份運行Admin
。
我幾乎沒有想法,所以我可以嘗試任何事情。
感謝您的提示,但不幸的是,構建仍然失敗。該項目最初是通過視覺工作室製作和簽署的,所以我的猜測是有一些更復雜的事情發生。我會繼續研究它。 –
我將賞金賞賜爲謝謝你的努力(否則它將被浪費),所以謝謝!我仍然試圖找出一些東西。 –
非常感謝,抱歉,我忍不住進一步。 –