Build multiarch docker images for release: amd, s390x, arm (#251)
This commit is contained in:
parent
127194b205
commit
2e9ba5024e
|
|
@ -11,8 +11,6 @@ COPY cmd /tmp/fullstorydev/grpcurl/cmd
|
||||||
# and build a completely static binary (so we can use
|
# and build a completely static binary (so we can use
|
||||||
# scratch as basis for the final image)
|
# scratch as basis for the final image)
|
||||||
ENV CGO_ENABLED=0
|
ENV CGO_ENABLED=0
|
||||||
ENV GOOS=linux
|
|
||||||
ENV GOARCH=amd64
|
|
||||||
ENV GO111MODULE=on
|
ENV GO111MODULE=on
|
||||||
RUN go build -o /grpcurl \
|
RUN go build -o /grpcurl \
|
||||||
-ldflags "-w -extldflags \"-static\" -X \"main.version=$(cat VERSION)\"" \
|
-ldflags "-w -extldflags \"-static\" -X \"main.version=$(cat VERSION)\"" \
|
||||||
|
|
|
||||||
|
|
@ -40,12 +40,17 @@ $PREFIX git checkout go.mod go.sum
|
||||||
# if there are no valid current credentials.
|
# if there are no valid current credentials.
|
||||||
$PREFIX docker login
|
$PREFIX docker login
|
||||||
echo "$VERSION" > VERSION
|
echo "$VERSION" > VERSION
|
||||||
$PREFIX docker build -t "fullstorydev/grpcurl:${VERSION}" .
|
|
||||||
rm VERSION
|
# Docker Buildx support is included in Docker 19.03
|
||||||
|
# Below step installs emulators for different architectures on the host
|
||||||
|
# This enables running and building containers for below architectures mentioned using --platforms
|
||||||
|
$PREFIX docker run --privileged --rm tonistiigi/binfmt:qemu-v6.1.0 --install all
|
||||||
|
# Create a new builder instance
|
||||||
|
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||||
|
$PREFIX docker buildx create --use --name multiarch-builder
|
||||||
# push to docker hub, both the given version as a tag and for "latest" tag
|
# push to docker hub, both the given version as a tag and for "latest" tag
|
||||||
$PREFIX docker push "fullstorydev/grpcurl:${VERSION}"
|
$PREFIX docker buildx build --platform linux/amd64,linux/s390x,linux/arm64 --tag fullstorydev/grpcurl:${VERSION} --tag fullstorydev/grpcurl:latest --push --progress plain --no-cache .
|
||||||
$PREFIX docker tag "fullstorydev/grpcurl:${VERSION}" fullstorydev/grpcurl:latest
|
rm VERSION
|
||||||
$PREFIX docker push fullstorydev/grpcurl:latest
|
|
||||||
|
|
||||||
# Homebrew release
|
# Homebrew release
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue