gotit

command module
v0.0.0-...-5975cd0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2019 License: Apache-2.0 Imports: 15 Imported by: 0

README

Gotit

Help You Got It (golang dependencies)

License Travis branch Coverage Status Go Report Card GoDoc

中文文档

Gotit is a Golang package cache proxy, proudly powered by betproxy.

Just change the proxy settings of your package management tool to Gotit, and Gotit will automatically pull, cache and update all dependencies for you.

Features

  • Faster Pulling is very fast when hitting the cache.
  • Reliable Gotit can continue working on the cache after disconnecting or deleting the origin repository.
  • Transparency In theory, Gotit can work with all Go package management tools. (needs to skip HTTPS certificate verification)

Deployment

Requirements

Make sure the git and go executable is on your PATH variable.

Installation

go get github.com/faceair/gotit

Run

Run Gotit on port 8080

$GOPATH/bin/gotit -port 8080

Run gotit directly see help for other commands. Gotit use system GOPATH to save dependencies by default.

# Import environment variables and certificates
export HTTPS_PROXY=http://127.0.0.1:3128
curl -o /usr/local/share/ca-certificates/gotit.crt http://127.0.0.1:3128/ssl && update-ca-certificates

# Normal use
go get -v github.com/golang/dep/cmd/dep
go get -v github.com/axw/gocov/gocov
go get -v github.com/AlekSi/gocov-xml
go get -v golang.org/x/lint/golint
dep ensure -v
go mod download
glide install -v

# Delete the certificate after the build
rm /usr/local/share/ca-certificates/gotit.crt && update-ca-certificates

Configure dependency management tool

If you are concerned about the security of importing certificates, you can try to bypass the HTTPS verification of the package management tool.

dep

dep don't support skip HTTPS certificate verification, we need patch dep. You can build it yourself in this fork repository or download modified binary files.

Then set HTTPS_PROXY to Gotit address

HTTPS_PROXY=http://127.0.0.1:8080 dep ensure -v

or

export HTTPS_PROXY=http://127.0.0.1:8080
dep ensure -v
glide

glide also need a patch, download binary directly.

HTTPS_PROXY=http://127.0.0.1:8080 glide install
go get
HTTPS_PROXY=http://127.0.0.1:8080 GIT_SSL_NO_VERIFY=true go get -v -insecure github.com/faceair/gotit

FAQ

  1. When does Gotit update the repository?

After the client pulls the code, Gotit checks the repository for updates. So if you do not update to the latest version at a time, you can wait and try again.

  1. What is the difference between Gotit and the forward proxy with cache?

Pull code in git http protocol is a post request, it cannot be cached.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL