From 168fdedace330d1ad3a6b90e256cb53f470062eb Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Sat, 10 Sep 2016 17:46:49 +0100 Subject: [PATCH] clean up diagnostics server build Signed-off-by: Justin Cormack --- alpine/packages/diagnostics/.gitignore | 2 +- alpine/packages/diagnostics/Dockerfile | 10 +++------- alpine/packages/diagnostics/Makefile | 20 ++++++++++---------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/alpine/packages/diagnostics/.gitignore b/alpine/packages/diagnostics/.gitignore index 1802b3c31..826049f6e 100644 --- a/alpine/packages/diagnostics/.gitignore +++ b/alpine/packages/diagnostics/.gitignore @@ -1,2 +1,2 @@ diagnostics-server -/vendor \ No newline at end of file +files diff --git a/alpine/packages/diagnostics/Dockerfile b/alpine/packages/diagnostics/Dockerfile index e3c2f659a..626759fde 100644 --- a/alpine/packages/diagnostics/Dockerfile +++ b/alpine/packages/diagnostics/Dockerfile @@ -1,13 +1,9 @@ FROM mobylinux/alpine-build-go:30067067003d565887d7efe533eba03ed46038d2 -RUN mkdir -p /go/src/diagnostics -WORKDIR /go/src/diagnostics +COPY ./ /go/src/diagnostics-server/ -COPY . /go/src/diagnostics - -ARG GOARCH -ARG GOOS +WORKDIR /go/src/diagnostics-server RUN go install --ldflags '-extldflags "-fno-PIC"' -RUN [ -f /go/bin/*/diagnostics ] && mv /go/bin/*/diagnostics /go/bin/ || true +CMD ["tar", "cf", "-", "-C", "/go/bin", "diagnostics-server"] diff --git a/alpine/packages/diagnostics/Makefile b/alpine/packages/diagnostics/Makefile index af5b6ea59..f401eee28 100644 --- a/alpine/packages/diagnostics/Makefile +++ b/alpine/packages/diagnostics/Makefile @@ -1,15 +1,15 @@ all: diagnostics-server -.PHONY: vendor -vendor: - mkdir -p ./vendor - cp -r ../vendor/* ./vendor/ +files: + ls Dockerfile *.go > files + printf -- '-C\n..\n' >> files + (cd .. && find vendor) >> files -diagnostics-server: Dockerfile main.go vendor - docker build --build-arg GOOS=$(OS) --build-arg GOARCH=$(ARCH) -t diagnostics:build . - docker run --rm diagnostics:build cat /go/bin/diagnostics > diagnostics-server - chmod 755 diagnostics-server +diagnostics-server: Dockerfile $(wildcard *.go) ../vendor/manifest files + tar cf - -T files | docker build -t diagnostics-server:build - + docker run --rm diagnostics-server:build | tar xf - clean: - rm -rf diagnostics-server vendor - docker images -q diagnostics:build | xargs docker rmi -f || true + rm -rf diagnostics-server files + +.DELETE_ON_ERROR: