diff --git a/Makefile b/Makefile index 3a0e0b64d..1cdd8c527 100644 --- a/Makefile +++ b/Makefile @@ -64,6 +64,7 @@ define make_docker --build-arg VERSION=$(VERSION) \ --build-arg COMMIT=$(COMMIT) \ --build-arg TIME=$(TIME) \ + --build-arg BUILD_TAGS="$(BUILD_TAGS)" \ --tag=$(MG_DOCKER_IMAGE_NAME_PREFIX)/$(svc) \ -f docker/Dockerfile . endef diff --git a/docker/Dockerfile b/docker/Dockerfile index dc1fb9e93..2694f2198 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,14 +8,21 @@ ARG GOARM ARG VERSION ARG COMMIT ARG TIME +ARG BUILD_TAGS WORKDIR /go/src/github.com/absmach/magistrala COPY . . -RUN apk update \ - && apk add make upx\ - && make $SVC \ - && upx build/$SVC \ - && mv build/$SVC /exe +RUN CGO_ENABLED=0 GOOS=linux GOARCH=${GOARCH} GOARM=${GOARM} \ + go build \ + -trimpath \ + -mod=readonly \ + -buildvcs=false \ + -tags "${BUILD_TAGS}" \ + -ldflags "-s -w \ + -X 'github.com/absmach/magistrala.BuildTime=${TIME}' \ + -X 'github.com/absmach/magistrala.Version=${VERSION}' \ + -X 'github.com/absmach/magistrala.Commit=${COMMIT}'" \ + -o /exe cmd/${SVC}/main.go FROM scratch # Certificates are needed so that mailing util can work.