2016-04-21 54 views
2

我們有一個使用CMAKE生成makefile和build的Code Composer Studio(Eclipse)項目。當項目手動導入到Jenkins從站(Win10 x64)並從命令行執行時,該項目按預期進行編譯,但在Jenkins處理構建時失敗。失敗總是遵循相同的模式:從目標文件的路徑中刪除單個字母。例如,[Repo directory]/Cockpit_Scaling_and_Exceedance_data.dir變爲[Repo direcory]/Cockpit_Scaling_and_Exceedance_ata.dir,並且鏈接失敗,因爲它無法找到引用的目標文件。Jenkins從文件路徑中刪除一個字母

我確保帳戶環境變量和系統環境變量之間沒有差異,並且還配置了Jenkins服務以在從服務器上使用管理員帳戶而不是SYSTEM,以便消除詹金斯和命令行儘可能。

該項目將使用我們的其他Jenkins從站(也是Win10 x64)成功構建,因此我們知道這不是Windows 10問題或Jenkins配置的問題。由於我找不到兩臺從機的配置有任何區別,我希望有人能夠建議某處尋找這個路徑問題。

回答

0

我從來沒有發現爲什麼通往目標文件的路徑被破壞,但我確實通過Jenkins讓項目在奴隸上成功建立。我所做的只是將我所有的系統環境變量都更改爲用戶環境變量。我複製粘貼,所以我知道變量本身並沒有改變。

我不知道爲什麼這解決了這個問題,因爲我在編譯開始時插入了一個whoami調用來確認Jenkins確實以用戶身份運行,而不是系統。我想從這一點上,我所有的環境變量將是特定於用戶,而不是SYSTEM ...

編輯:問題已返回。在追蹤此問題背後的原因方面,我沒有取得進一步的進展,但是我發現在bash環境而不是Windows命令提示符下運行腳本時看不到此症狀。幸運的是,對於我來說,腳本都是以這樣的方式編寫的,以使它們可以在兩種環境中運行,所以我讓同事使用bash代替他們。

相關問題