最新版的nexus除了可以做maven倉庫的代理私服,還可以作為golang下載下傳第三方資源包的代理私服。
以admin使用者登入到nexus,添加一個go(proxy),名字随便起,最主要的是遠端代理位址需要填寫:
https://goproxy.io/ 或者用國外的 https://athens.azurefd.net
還有國内阿裡雲的 https://mirrors.aliyun.com/goproxy/
注意這兩個代理位址可能需要來回切換使用,一個下載下傳不到的時候就換成另外一個,倉庫不用删除重建。
修改倉庫配置,把内容校驗和自動阻止無法通路資源的再次重試等去掉,配置結果如下:
在用戶端開發機器上面配置系統環境變量,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的本地緩存了。
另外,阿裡雲的代理是個好東東,有好多的代理,在這裡
https://developer.aliyun.com/mirror