From 6af86e31a292bfef4a06fbd8f27a85637e271b01 Mon Sep 17 00:00:00 2001 From: Anit Gandhi <anitgandhi@gmail.com> Date: Tue, 9 Apr 2019 16:57:54 -0400 Subject: [PATCH] build and packaging updates 1. Update Dockerfile.dapper to install Go 1.12, separate go gets for better image layer caching 2. replace ubuntu image with simple alpine base image 3. add linker flag -w for smaller binary 4. gitignore some generated files --- .gitignore | 4 ++++ Dockerfile.dapper | 4 ++-- package/Dockerfile | 9 +++------ scripts/build | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index f1c181ec..cb26edc8 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,7 @@ # Output of the go coverage tool, specifically when used with LiteIDE *.out + +*dapper* +!Dockerfile.dapper +bin/ \ No newline at end of file diff --git a/Dockerfile.dapper b/Dockerfile.dapper index 98ddb2c8..809ad154 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -19,8 +19,8 @@ RUN wget -O - ${!DOCKER_URL} > /usr/bin/docker && chmod +x /usr/bin/docker ENV GOLANG_ARCH_amd64=amd64 GOLANG_ARCH_arm=armv6l GOLANG_ARCH=GOLANG_ARCH_${ARCH} \ GOPATH=/go PATH=/go/bin:/usr/local/go/bin:${PATH} SHELL=/bin/bash -RUN wget -O - https://storage.googleapis.com/golang/go1.11.linux-${!GOLANG_ARCH}.tar.gz | tar -xzf - -C /usr/local && \ - go get github.com/rancher/trash && go get github.com/golang/lint/golint +RUN wget -O - https://storage.googleapis.com/golang/go1.12.linux-${!GOLANG_ARCH}.tar.gz | tar -xzf - -C /usr/local +RUN go get github.com/rancher/trash && go get golang.org/x/lint/golint ENV DAPPER_SOURCE /go/src/github.com/rancher/local-path-provisioner ENV DAPPER_OUTPUT ./bin diff --git a/package/Dockerfile b/package/Dockerfile index 47b6353f..042162e5 100644 --- a/package/Dockerfile +++ b/package/Dockerfile @@ -1,8 +1,5 @@ -FROM ubuntu:16.04 +FROM alpine:latest -RUN apt-get update && apt-get install -y curl vim nfs-common iproute dnsutils iputils-ping telnet +COPY bin /bin -COPY bin /usr/local/sbin/ - -VOLUME /usr/local/sbin -CMD ["local-path-provisioner"] +ENTRYPOINT ["/bin/local-path-provisioner"] diff --git a/scripts/build b/scripts/build index 12f20ef6..7ae6e279 100755 --- a/scripts/build +++ b/scripts/build @@ -5,5 +5,5 @@ cd $(dirname $0)/.. VERSION=${VERSION:-$(./scripts/version)} mkdir -p bin -[ "$(uname)" != "Darwin" ] && LINKFLAGS="-extldflags -static -s" +[ "$(uname)" != "Darwin" ] && LINKFLAGS="-extldflags -static -s -w" CGO_ENABLED=0 go build -ldflags "-X main.VERSION=$VERSION $LINKFLAGS" -o bin/local-path-provisioner -- GitLab