diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..6eda33b7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM golang:1.13-alpine3.10 as builder + +ARG Version + +RUN apk --no-cache add git && \ + apk --update add alpine-sdk && \ + rm -rf /var/cache/apk/* + +WORKDIR /sources +COPY . . + +RUN CGO_ENABLED=0 GOOS=linux go build -mod vendor -ldflags "-X main.Version=sources-$Version -s -w" -o monday /sources/cmd + +FROM alpine:3.10 + +LABEL name="monday" +LABEL description="A dev tool for microservice developers to run local applications and/or forward others from/to Kubernetes SSH or TCP" + +WORKDIR / + +COPY --from=builder /sources/monday monday + +ENTRYPOINT ["/monday"] diff --git a/Makefile b/Makefile index 2598b620..278c8cfc 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,9 @@ build: ## Builds a local version of Monday from sources build-binary: ## Builds a single binary of Monday from sources /usr/local/bin/go build -ldflags "-X main.Version=sources-$(shell git rev-parse --short=5 HEAD)" -o monday ./cmd +docker-build: ## Builds a docker image of Monday from sources + docker build -t monday --build-arg Version=$(shell git rev-parse --short=5 HEAD) . + generate-mocks: ## Generate mocks for tests @echo "> generating mocks..."