From 619fa4de02ee3d061bf4a2a07c66101871332b4d Mon Sep 17 00:00:00 2001 From: Tit Petric Date: Fri, 26 Apr 2019 20:37:03 +0200 Subject: [PATCH] upd(all): docker image build improvements --- .drone.yml | 9 +++++++-- Dockerfile.api-crm | 4 +--- Dockerfile.api-messaging | 3 +-- Dockerfile.api-system | 4 +--- Dockerfile.crust | 3 +-- Dockerfile.crust-builder | 8 ++++---- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.drone.yml b/.drone.yml index 109c8519d..3e39be5eb 100644 --- a/.drone.yml +++ b/.drone.yml @@ -94,15 +94,20 @@ steps: AUTH_OIDC_ENABLED: 0 AUTH_JWT_SECRET: bRxJ37sJ6Qu4 commands: - - go fmt ./cmd/... ./internal/... ./crm/... ./messaging/... ./system/... - make mocks + - make codegen + - go build -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime=`date +%FT%T%z` -X github.com/crusttech/crust/internal/version.Version=`git describe --always --tags`" -o build/crust-$GOOS-$GOARCH cmd/crust/*.go + - go build -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime=`date +%FT%T%z` -X github.com/crusttech/crust/internal/version.Version=`git describe --always --tags`" -o build/crm-$GOOS-$GOARCH cmd/crm/*.go + - go build -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime=`date +%FT%T%z` -X github.com/crusttech/crust/internal/version.Version=`git describe --always --tags`" -o build/messaging-$GOOS-$GOARCH cmd/messaging/*.go + - go build -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime=`date +%FT%T%z` -X github.com/crusttech/crust/internal/version.Version=`git describe --always --tags`" -o build/system-$GOOS-$GOARCH cmd/system/*.go + - go build -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime=`date +%FT%T%z` -X github.com/crusttech/crust/internal/version.Version=`git describe --always --tags`" -o build/system-cli-$GOOS-$GOARCH cmd/system-cli/*.go # check all tests are able to build - wait-for-it.sh -t 60 --strict crust-db:3306 -- echo "Crust DB1 is up" - gotest -v --tags="migrations" ./system/db/... - gotest -v --tags="migrations" ./crm/db/... - gotest -v --tags="migrations" ./messaging/db/... - go test -run=^$ --tags="unit integration external" ./cmd/... ./internal/... ./crm/... ./messaging/... ./system/... - - gotest -failfast --coverprofile=coverage.txt -v --tags="unit integration external" ./internal/... ./system/... ./crm/... ./messaging/... + - gotest -failfast --coverprofile=coverage.txt -v --tags="unit integration" ./internal/... ./system/... ./crm/... ./messaging/... - name: coverage image: plugins/codecov settings: diff --git a/Dockerfile.api-crm b/Dockerfile.api-crm index eaa55fdaf..ea9fe6e0f 100644 --- a/Dockerfile.api-crm +++ b/Dockerfile.api-crm @@ -1,5 +1,5 @@ ## builder image -FROM golang:1.10-alpine AS builder +FROM crusttech/crust-builder AS builder WORKDIR /go/src/github.com/crusttech/crust @@ -7,7 +7,6 @@ ENV CGO_ENABLED=0 COPY . . -RUN apk update && apk upgrade && apk add --no-cache git RUN mkdir /build; \ go build \ -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime="`date +%FT%T%z`" -X github.com/crusttech/crust/internal/version.Version="`git describe --always --tags` \ @@ -16,7 +15,6 @@ RUN mkdir /build; \ ## target image FROM alpine:3.7 -ENV PATH="/crust:{$PATH}" WORKDIR /crust COPY --from=builder /build/* /crust/ diff --git a/Dockerfile.api-messaging b/Dockerfile.api-messaging index 20316d2b6..1e9b2119b 100644 --- a/Dockerfile.api-messaging +++ b/Dockerfile.api-messaging @@ -1,5 +1,5 @@ ## builder image -FROM golang:1.10-alpine AS builder +FROM crusttech/crust-builder AS builder WORKDIR /go/src/github.com/crusttech/crust @@ -16,7 +16,6 @@ RUN mkdir /build; \ ## target image FROM alpine:3.7 -ENV PATH="/crust:{$PATH}" WORKDIR /crust COPY --from=builder /build/* /crust/ diff --git a/Dockerfile.api-system b/Dockerfile.api-system index 3cdefa8c5..8ada2def2 100644 --- a/Dockerfile.api-system +++ b/Dockerfile.api-system @@ -1,5 +1,5 @@ ## builder image -FROM golang:1.10-alpine AS builder +FROM crusttech/crust-builder AS builder WORKDIR /go/src/github.com/crusttech/crust @@ -7,7 +7,6 @@ ENV CGO_ENABLED=0 COPY . . -RUN apk update && apk upgrade && apk add --no-cache git RUN mkdir /build; \ go build \ -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime="`date +%FT%T%z`" -X github.com/crusttech/crust/internal/version.Version="`git describe --always --tags` \ @@ -19,7 +18,6 @@ RUN mkdir /build; \ ## target image FROM alpine:3.7 -ENV PATH="/crust:{$PATH}" WORKDIR /crust COPY --from=builder /build/* /crust/ diff --git a/Dockerfile.crust b/Dockerfile.crust index ce13d71d2..ccac7130a 100644 --- a/Dockerfile.crust +++ b/Dockerfile.crust @@ -1,12 +1,11 @@ ## == builder image == -FROM golang:1.12-alpine AS builder +FROM crust-builder AS builder WORKDIR /go/src/github.com/crusttech/crust COPY . . -RUN apk add --no-cache git RUN mkdir /build; \ CGO_ENABLED=0 go build \ -ldflags "-X github.com/crusttech/crust/internal/version.BuildTime="`date +%FT%T%z`" -X github.com/crusttech/crust/internal/version.Version="`git describe --always --tags` \ diff --git a/Dockerfile.crust-builder b/Dockerfile.crust-builder index fb5431373..91012efa2 100644 --- a/Dockerfile.crust-builder +++ b/Dockerfile.crust-builder @@ -1,8 +1,8 @@ FROM golang:1.12-alpine RUN apk add --no-cache git make bash && \ - go get -u github.com/golang/mock/gomock && \ - go get -u github.com/golang/mock/mockgen && \ - go get -u github.com/rakyll/gotest && \ - go get -u github.com/goware/statik && \ + echo "installing gomock" && go get -u github.com/golang/mock/gomock && \ + echo "installing mockgen" && go get -u github.com/golang/mock/mockgen && \ + echo "installing gotest" && go get -u github.com/rakyll/gotest && \ + echo "installing goware/statik" && go get -u github.com/goware/statik && \ cd /usr/local/bin && wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh && chmod a+x wait-for-it.sh \ No newline at end of file