A Go language development toolbox.
Some Azure projects use this Docker image as a standard build and test environment, but it is intended to be useful to any Go developer. Please help make deis/go-dev better by creating issues and submitting pull requests.
- based on Ubuntu 20.04
- az: Azure cloud command-line tool
- azcopy: Utility for copying data to/from Microsoft Azure Blob and File storage
- delve: debugger for the Go programming language
- Docker: Docker binaries to be able to bind mount /var/run/docker.sock in the dev environment container
- ginkgo: BDD testing framework for Go
- go-bindata: converts any file into Go source code
- golangci-lint: concurrent runner for Go linting tools
- goss: YAML-based tool for validating a server's configuration
- gox: simple Go cross-compiling tool
- helm: Kubernetes package manager
- jq: command-line JSON processor
- jwt: tool for creating and parsing JSON Web Tokens
- k: automatically run the correct version of
kubectl
every time - kubectl: Kubernetes command-line client
- Packer: build automated machine images
- ruby: ruby scripting language
- shellcheck: static analysis for shell scripts
- shfmt: shell script parser, formatter, and interpreter
- shyaml: YAML access from the command line
- test-cover.sh: test coverage for multiple Go packages
- unzip: list, test, and extract files from ZIP archives
- upx: executable packer
- vim: text editor
- wamerican: American English dictionary words for /usr/share/dict
Mount your local Go code into a container's $GOPATH
to run any go
command or one of the
included tools or scripts. Here's an example of running ginko
for deis/builder:
$ docker run --rm \
--volume $GOPATH/src/github.com/deis/builder:/go/src/github.com/deis/builder \
--workdir /go/src/github.com/deis/builder \
quay.io/deis/go-dev:latest \
ginkgo -r
The latest deis/go-dev Docker image is available at:
-
docker pull mcr.microsoft.com/oss/azcu/go-dev:<tag>
Browse the go-dev index URL to see which tags are available.
-
docker pull quay.io/deis/go-dev
-
docker pull deis/go-dev
To publish a new release of deis/go-dev, use the deisrel tool:
$ deisrel release docker-go-dev v1.28.7
Doing a dry run of the component release...
Creating changelog for docker-go-dev with tag v1.28.6 through commit 1a69c5502ef1bca014fbd3581451d1421829a42f
### v1.28.6 -> v1.28.7
...
If the CHANGELOG contents look correct, run the same command again but add the argument --dry-run=false
.
You will be prompted to confirm again before any tag or release is written to GitHub.