1.5 KiB
Docker API
Dev Setup
The recommended way is to use the main Makefile
that runs everything inside a container.
If you don't have or want to use Docker for building you need to make sure you have all the needed tools installed locally:
- go 1.14
- protoc
go get github.com/golang/protobuf/protoc-gen-go@v1.4.1
go get golang.org/x/tools/cmd/goimports
go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.26.0
And then you can call the same make targets but you need to pass it the builder.Makefile
(make -f builder.Makefile
).
The new CLI delegates to the classic docker for default contexts ; delegation is done to com.docker.cli
.
make moby-cli-link
will create acom.docker.cli
link in/usr/local/bin
if you don't already have it from Docker Desktop
Building the project
$ make
This will make the cli with all backends enabled. make cross
on the other hand will cross-compile the cli without the
example and local backend. We use make cross
to build for our release, hence the exclusion of those backends. You can
still cross-compile with all backends enabled: BUILD_TAGS=example,local make cross
.
If you make changes to the .proto
files, make sure to make protos
to generate go code.
Tests
To run unit tests:
make test
If you need to update a golden file simply do go test ./... -test.update-golden
.