Skip to content

stjordanis/golang-builder

 
 

Prometheus Golang builder Docker images

CircleCI Docker Repository on Quay.io

Details

Docker Builder Image for cross-building Golang Prometheus projects.

Usage

Change the repository import path (-i) and target platforms (-p) according to your needs. You can also use those images to run your tests by using the -T option.

Usage: builder.sh [args]
  -i,--import-path arg  : Go import path of the project
  -p,--platforms arg    : List of platforms (GOOS/GOARCH) to build separated by a space
  -T,--tests            : Go run tests then exit

Requirements

This building process is using make to build and run tests. Therefore a Makefile with build and test targets is needed into the root of your source files.

main/latest tag

docker run --rm -ti -v $(pwd):/app quay.io/prometheus/golang-builder:main \
    -i "github.com/prometheus/prometheus" \
    -p "linux/amd64 linux/386 darwin/amd64 darwin/386 windows/amd64 windows/386 freebsd/amd64 freebsd/386 openbsd/amd64 openbsd/386 netbsd/amd64 netbsd/386 dragonfly/amd64"

arm tag

docker run --rm -ti -v $(pwd):/app quay.io/prometheus/golang-builder:arm \
    -i "github.com/prometheus/prometheus" \
    -p "linux/arm linux/arm64 freebsd/arm openbsd/arm netbsd/arm"

powerpc tag

docker run --rm -ti -v $(pwd):/app quay.io/prometheus/golang-builder:powerpc \
    -i "github.com/prometheus/prometheus" \
    -p "linux/ppc64 linux/ppc64le"

mips tag

mips64/mips64le cross-build is currently available with golang 1.6.

docker run --rm -ti -v $(pwd):/app quay.io/prometheus/golang-builder:mips \
    -i "github.com/prometheus/prometheus" \
    -p "linux/mips64 linux/mips64le"

Legal note

OSX/Darwin/Apple builds: Please ensure you have read and understood the Xcode license terms before continuing.

More information

  • You will find a Circle CI configuration in circle.yml.
  • All of the core developers are accessible via the Prometheus Developers Mailinglist and the #prometheus channel on irc.freenode.net.

Contributing

Refer to CONTRIBUTING.md

License

Apache License 2.0, see LICENSE.

About

Prometheus Golang builder Docker images

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 41.8%
  • Go 26.4%
  • Dockerfile 19.1%
  • Makefile 12.7%