jenkins構建job,執行go test命令報如下圖的timeout錯誤
從報錯信息中可以看出是因為下載依賴包超時
解決方法:
go env查看go環境變量
GOSUMDB=sum.golang.org,用於驗證包的有效性,但是由於這個網站被牆了,所以報timeout
可以通過如下命令關閉:
go env-w GOSUMDB=off
也可以設置 GOSUMDB="sum.golang.google.cn", 這個是專門為國內提供的sum 驗證服務
或者通過修改環境變量文件.bash_profile
- vi .bash_profile
- 更改
- source .bash_profile
再次go env查看,改變已生效
改完后,在窗口和jenkins job都試一下(執行go test命令),結果窗口可以,jenkins job依然不行。
真可謂是一坑剛平,一坑又起,因為在slave機器上修改了環境變量文件.bash_profile,是不是jenkins job沒有感知到環境變量的更改?
在shell腳本頭部加入一行source /Users/xes/.bash_profile,及在執行go test命令前先加載一下環境變量
再次構建jenkins job,成功!