jenkins 執行shell編譯go 代碼報錯:build cache is required, but could not be located: GOCACHE is not defined and neither $XDG_CACHE_HOME nor $HOME are defined


jenkins執行shell編譯go代碼時,全部報錯:

     build cache is required, but could not be located: GOCACHE is not defined and neither $XDG_CACHE_HOME nor $HOME are defined

執行go env 沒用信息顯示,也是上面的報錯。

但是,在jenkins機器上執行shell編譯go代碼和執行go env 都可以正常運行

只要jenkins調用就不生效了

 

原因:jenkins 執行shell有時候不能全部讀取到機器上的環境變量。

解決:

在jenkins 機器上執行 go env > go_env  將go env用到的環境變量寫入到文件go_env (這個文件名可以隨便定義)

然后再執行 sed -i ‘s/^/export  /'  go_env 在每一行的行首加入export 

然后備份下你自己的~/.bashrc :  cp ~/.bashrc bashrc_bak  防止待會改壞了

然后將go_env追加到~/.bashrc中: cat  go_env >> ~/.bashrc

最后執行source ~/.bashrc  讓環境變量生效

如果不放心的話 在jenkins要執行的腳本中也加上 source ~/.bashrc  這一句。

另外,在嘗試上面的步驟之前我還在/etc/profile中加入了GOROOT環境變量,不知道這個步驟有沒有用到,如果你在操作了上面的步驟后還是失敗的,可以嘗試加一下,並source下這個文件

   GOROOT=/usr/local/go  #GOROOT是你的go的安裝路徑

   export PATH=$GOROOT/bin:$PATH




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM