From a1cd6d9ac9bc9e96da12990ed329acbd3e6f3c0f Mon Sep 17 00:00:00 2001 From: Akhyar Amarullah Date: Fri, 21 Dec 2018 21:23:45 +0700 Subject: [PATCH 1/7] fix Dockerfile to build from current workspace Signed-off-by: Akhyar Amarullah --- .dockerignore | 3 +++ Dockerfile | 8 +++----- Makefile | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a053eb7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.git/ +/vendor/ +/bin/ diff --git a/Dockerfile b/Dockerfile index 7e38d28..fa68dc8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,17 +5,15 @@ FROM golang:1.11-alpine as builder RUN apk add --update git make bash RUN go get -u github.com/golang/dep/cmd/dep -# Get sources +# Get sources and dependencies -RUN go get github.com/bloomberg/goldpinger/cmd/goldpinger WORKDIR /go/src/github.com/bloomberg/goldpinger - -# Install our dependencies - +COPY Gopkg.toml Gopkg.lock Makefile ./ RUN make vendor # Build goldpinger +COPY . ./ RUN make bin/goldpinger # Build the asset container, copy over goldpinger diff --git a/Makefile b/Makefile index f7176f5..fcccbdc 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ clean: vendor: rm -rf ./vendor - dep ensure -v + dep ensure -v -vendor-only swagger: swagger generate server -t pkg -f ./swagger.yml --exclude-main -A goldpinger && \ From 6604127c1354a9ef3b527cceb5e84adc05cd8321 Mon Sep 17 00:00:00 2001 From: Akhyar Amarullah Date: Fri, 21 Dec 2018 21:53:47 +0700 Subject: [PATCH 2/7] fix broken simple docker build Signed-off-by: Akhyar Amarullah --- .dockerignore | 1 - Dockerfile | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index a053eb7..38af8d6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,2 @@ .git/ /vendor/ -/bin/ diff --git a/Dockerfile b/Dockerfile index fa68dc8..ad64b84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ FROM golang:1.11-alpine as builder RUN apk add --update git make bash RUN go get -u github.com/golang/dep/cmd/dep -# Get sources and dependencies +# Get dependencies WORKDIR /go/src/github.com/bloomberg/goldpinger COPY Gopkg.toml Gopkg.lock Makefile ./ From b41d15986ce27664fedd65175c93925b1a2c702f Mon Sep 17 00:00:00 2001 From: Ivan Kalita Date: Fri, 21 Dec 2018 16:26:24 +0100 Subject: [PATCH 3/7] Fix GOOS problems during simple docker build According to #17. Signed-off-by: Ivan Kalita --- Makefile | 4 +++- build/build.sh | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fcccbdc..7f95247 100644 --- a/Makefile +++ b/Makefile @@ -3,12 +3,13 @@ version ?= 1.1.0 bin ?= goldpinger pkg ?= "github.com/bloomberg/goldpinger" tag = $(name):$(version) +goos ?= ${GOOS} namespace ?= "" files = $(shell find . -iname "*.go") bin/$(bin): $(files) - PKG=${pkg} ARCH=amd64 VERSION=${version} BIN=${bin} ./build/build.sh + GOOS=${goos} PKG=${pkg} ARCH=amd64 VERSION=${version} BIN=${bin} ./build/build.sh clean: rm -rf ./vendor @@ -25,6 +26,7 @@ swagger: build-multistage: docker build -t $(tag) -f ./Dockerfile . +build: GOOS=linux build: bin/$(bin) docker build -t $(tag) -f ./build/Dockerfile-simple . diff --git a/build/build.sh b/build/build.sh index 9ded6c2..142b685 100755 --- a/build/build.sh +++ b/build/build.sh @@ -35,6 +35,10 @@ fi export CGO_ENABLED=0 export GOARCH="${ARCH}" +GOOS=${GOOS:-} +if [ ! -z "${GOOS}" ]; then + export GOOS +fi go build \ -ldflags "-X 'main.Version=${VERSION}' -X 'main.Build=`date`'" \ From f71500b5900f618180727a0396db38244f4caad0 Mon Sep 17 00:00:00 2001 From: Ivan Kalita Date: Fri, 21 Dec 2018 17:53:42 +0100 Subject: [PATCH 4/7] Improve GOOS workaround in build.sh According to #17. Signed-off-by: Ivan Kalita --- build/build.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build/build.sh b/build/build.sh index 142b685..4ec1ded 100755 --- a/build/build.sh +++ b/build/build.sh @@ -35,10 +35,7 @@ fi export CGO_ENABLED=0 export GOARCH="${ARCH}" -GOOS=${GOOS:-} -if [ ! -z "${GOOS}" ]; then - export GOOS -fi +export GOOS=${GOOS:-} go build \ -ldflags "-X 'main.Version=${VERSION}' -X 'main.Build=`date`'" \ From ab1d7558e76923e0749feba1fc788e44f3ca3297 Mon Sep 17 00:00:00 2001 From: Mikolaj Pawlikowski Date: Fri, 21 Dec 2018 18:28:24 +0100 Subject: [PATCH 5/7] update Makefile, add make version target Signed-off-by: Mikolaj Pawlikowski --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7f95247..e0222b8 100644 --- a/Makefile +++ b/Makefile @@ -38,5 +38,8 @@ push: run: go run ./cmd/goldpinger/main.go + +version: + @echo $(tag) -.PHONY: clean vendor build-swagger build tag push run +.PHONY: clean vendor swagger build build-multistage tag push run version From 2a692c48b05952f4b602354d03b142ccf2d67547 Mon Sep 17 00:00:00 2001 From: Mikolaj Pawlikowski Date: Fri, 21 Dec 2018 18:34:13 +0100 Subject: [PATCH 6/7] Update travis to run locally, and from both docker builders Signed-off-by: Mikolaj Pawlikowski --- .travis.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index becc47f..16de5d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,18 @@ go: script: - docker --version - - go get -u github.com/golang/dep/cmd/dep && make vendor && make && make build + # dep + - go get -u github.com/golang/dep/cmd/dep + + # build locally and run locally + - make clean && make vendor && make && ./bin/goldpinger --help + + # build an image and run the image + - make clean && make build - docker images - - make build-multistage + - docker run `make version` --help + + # build an image using the multistage builder + - make clean && make build-multistage - docker images + - docker run `make version` --help From 9185dade92d103029ad01989942a2712db9e9f04 Mon Sep 17 00:00:00 2001 From: Mikolaj Pawlikowski Date: Fri, 21 Dec 2018 18:41:11 +0100 Subject: [PATCH 7/7] derp - fixed travis Signed-off-by: Mikolaj Pawlikowski --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 16de5d9..79d0c51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ script: - make clean && make vendor && make && ./bin/goldpinger --help # build an image and run the image - - make clean && make build + - make clean && make vendor && make build - docker images - docker run `make version` --help