mirror of
https://github.com/sablierapp/sablier.git
synced 2025-12-24 06:28:21 +01:00
build(docker): use Makefile build directive inside Dockerfile
This commit is contained in:
21
Dockerfile
21
Dockerfile
@@ -1,18 +1,27 @@
|
||||
FROM golang:1.18-alpine AS build
|
||||
FROM golang:1.18 AS build
|
||||
|
||||
ENV CGO_ENABLED=0
|
||||
ENV PORT 10000
|
||||
|
||||
COPY . /go/src/sablier
|
||||
WORKDIR /go/src/sablier
|
||||
|
||||
COPY go.mod ./
|
||||
COPY go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
COPY . /go/src/sablier
|
||||
|
||||
ARG TARGETOS
|
||||
ARG TARGETARCH
|
||||
RUN GIN_MODE=release GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -buildvcs=false -o /go/bin/sablier
|
||||
RUN make ${TARGETOS}/${TARGETARCH}
|
||||
|
||||
FROM alpine
|
||||
|
||||
RUN addgroup -S sablier && adduser -S sablier -G sablier
|
||||
USER sablier:sablier
|
||||
|
||||
COPY --from=build --chown=sablier:sablier /go/src/sablier/sablier* /go/bin/sablier
|
||||
|
||||
EXPOSE 10000
|
||||
COPY --from=build /go/bin/sablier /go/bin/sablier
|
||||
|
||||
ENTRYPOINT [ "/go/bin/sablier" ]
|
||||
CMD [ "--swarmMode=true" ]
|
||||
CMD [ "start", "--provider.name=docker"]
|
||||
4
Makefile
4
Makefile
@@ -13,8 +13,10 @@ VPREFIX := github.com/acouvreur/sablier/version
|
||||
GO_LDFLAGS := -X $(VPREFIX).Branch=$(GIT_BRANCH) -X $(VPREFIX).Version=$(version) -X $(VPREFIX).Revision=$(GIT_REVISION) -X $(VPREFIX).BuildUser=$(shell whoami)@$(shell hostname) -X $(VPREFIX).BuildDate=$(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
|
||||
$(PLATFORMS):
|
||||
GIN_MODE=release GOOS=$(os) GOARCH=$(arch) go build -ldflags="${GO_LDFLAGS}" -o 'sablier_$(version)_$(os)-$(arch)' .
|
||||
CGO_ENABLED=0 GIN_MODE=release GOOS=$(os) GOARCH=$(arch) go build -tags=nomsgpack -v -ldflags="${GO_LDFLAGS}" -o 'sablier_$(version)_$(os)-$(arch)' .
|
||||
|
||||
build:
|
||||
CGO_ENABLED=0 GIN_MODE=release GOOS=$(os) GOARCH=$(arch) go build -tags=nomsgpack -v -ldflags="${GO_LDFLAGS}" -o 'sablier_$(version)_$(os)-$(arch)' .
|
||||
|
||||
release: $(PLATFORMS)
|
||||
.PHONY: release $(PLATFORMS)
|
||||
Reference in New Issue
Block a user