天天看點

基于nexus搭建golang代碼下載下傳代理緩存私服

最新版的nexus除了可以做maven倉庫的代理私服,還可以作為golang下載下傳第三方資源包的代理私服。

以admin使用者登入到nexus,添加一個go(proxy),名字随便起,最主要的是遠端代理位址需要填寫:

​​https://goproxy.io/​​​  或者用國外的 ​​https://athens.azurefd.net​​

還有國内阿裡雲的 ​​https://mirrors.aliyun.com/goproxy/​​ 

注意這兩個代理位址可能需要來回切換使用,一個下載下傳不到的時候就換成另外一個,倉庫不用删除重建。

基于nexus搭建golang代碼下載下傳代理緩存私服

修改倉庫配置,把内容校驗和自動阻止無法通路資源的再次重試等去掉,配置結果如下:

基于nexus搭建golang代碼下載下傳代理緩存私服

在用戶端開發機器上面配置系統環境變量,GO111MODULE=auto,

然後建立go項目,執行

go mod init      

建立一個go.mod檔案,

然後寫代碼,最主要的是import你的項目需要用到的第三方檔案,例如到gin架構:

package main

import (
    "github.com/gin-gonic/gin"
)

func main()  {
    router := gin.Default()
    router.Run()
}      

然後設定go module代理為你剛剛配置的nexus内網私服位址,例如

set GOPROXY=http://192.168.1.100:8081/repository/goproxy/      

再執行以下指令:

go mod vendor      

go mod download

再次登入到nexus裡面去看的時候,就可以看到nexus緩存的go第三方元件包了,如下圖:

基于nexus搭建golang代碼下載下傳代理緩存私服

這樣後續再次加載時就可以走nexus的本地緩存了。

另外,阿裡雲的代理是個好東東,有好多的代理,在這裡

​​https://developer.aliyun.com/mirror​​