diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0db9f80 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +Dockerfile.* \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..61f3625 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM golang:1.17.5-stretch AS Builder +WORKDIR /app +COPY . . +RUN go mod download -x +RUN GOOS=linux GOARCH=amd64 go build -o webhook + +FROM debian:stretch +LABEL maintainer "soulteary " +COPY --from=builder /app/webhook /bin/ +CMD webhook \ No newline at end of file diff --git a/Dockerfile.alpine b/Dockerfile.alpine new file mode 100644 index 0000000..4c92c72 --- /dev/null +++ b/Dockerfile.alpine @@ -0,0 +1,10 @@ +FROM golang:1.17.5-alpine3.15 AS Builder +WORKDIR /app +COPY . . +RUN go mod download -x +RUN GOOS=linux GOARCH=amd64 go build -o webhook + +FROM alpine:3.15 +LABEL maintainer "soulteary " +COPY --from=builder /app/webhook /bin/ +CMD webhook \ No newline at end of file diff --git a/Makefile b/Makefile index 1a06482..6d65f04 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ OS = darwin freebsd linux openbsd ARCHS = 386 arm amd64 arm64 +DOCKER_REPO_NAME=adnanh/webhook .DEFAULT_GOAL := help @@ -33,6 +34,10 @@ release-windows: clean deps ## Generate release for windows tar cz -C build -f build/webhook-windows-$$arch.tar.gz webhook-windows-$$arch; \ done +release-docker: + docker build -t "${DOCKER_REPO_NAME}" -f Dockerfile . + docker build -t "${DOCKER_REPO_NAME}:alpine" -f Dockerfile.alpine . + test: deps ## Execute tests go test ./...