52 lines
1.8 KiB
Text
52 lines
1.8 KiB
Text
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
if ! test -e autogen/gen.go; then
|
||
|
echo >&2 'error: generate must be run before crossbinary'
|
||
|
false
|
||
|
fi
|
||
|
|
||
|
if [ -z "$VERSION" ]; then
|
||
|
VERSION=$(git rev-parse HEAD)
|
||
|
fi
|
||
|
|
||
|
if [ -z "$CODENAME" ]; then
|
||
|
CODENAME=cheddar
|
||
|
fi
|
||
|
|
||
|
if [ -z "$DATE" ]; then
|
||
|
DATE=$(date -u '+%Y-%m-%d_%I:%M:%S%p')
|
||
|
fi
|
||
|
|
||
|
# Build arm binaries
|
||
|
OS_PLATFORM_ARG=(linux windows darwin)
|
||
|
OS_ARCH_ARG=(386)
|
||
|
for OS in ${OS_PLATFORM_ARG[@]}; do
|
||
|
for ARCH in ${OS_ARCH_ARG[@]}; do
|
||
|
echo "Building binary for $OS/$ARCH..."
|
||
|
GOARCH=$ARCH GOOS=$OS CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/containous/traefik/version.Version=$VERSION -X github.com/containous/traefik/version.Codename=$CODENAME -X github.com/containous/traefik/version.BuildDate=$DATE" -o "dist/traefik_$OS-$ARCH" ./cmd/traefik/
|
||
|
done
|
||
|
done
|
||
|
|
||
|
# Build Bsd binaries
|
||
|
OS_PLATFORM_ARG=(freebsd openbsd)
|
||
|
OS_ARCH_ARG=(386 amd64)
|
||
|
for OS in ${OS_PLATFORM_ARG[@]}; do
|
||
|
for ARCH in ${OS_ARCH_ARG[@]}; do
|
||
|
# Get rid of existing binaries
|
||
|
rm -f dist/traefik_$OS-$ARCH
|
||
|
echo "Building binary for $OS/$ARCH..."
|
||
|
GOARCH=$ARCH GOOS=$OS CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/containous/traefik/version.Version=$VERSION -X github.com/containous/traefik/version.Codename=$CODENAME -X github.com/containous/traefik/version.BuildDate=$DATE" -o "dist/traefik_$OS-$ARCH" ./cmd/traefik/
|
||
|
done
|
||
|
done
|
||
|
|
||
|
# Build arm binaries
|
||
|
OS_PLATFORM_ARG=(linux)
|
||
|
OS_ARCH_ARG=(arm)
|
||
|
for OS in ${OS_PLATFORM_ARG[@]}; do
|
||
|
for ARCH in ${OS_ARCH_ARG[@]}; do
|
||
|
echo "Building binary for $OS/$ARCH..."
|
||
|
GOARCH=$ARCH GOOS=$OS CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/containous/traefik/version.Version=$VERSION -X github.com/containous/traefik/version.Codename=$CODENAME -X github.com/containous/traefik/version.BuildDate=$DATE" -o "dist/traefik_$OS-$ARCH" ./cmd/traefik/
|
||
|
done
|
||
|
done
|