From f69e158c8e6ea173baecf80d63b589526a731228 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Thu, 8 Nov 2018 13:27:16 -0200 Subject: [PATCH] feat: goreleaser --- .gitignore | 1 + .goreleaser.yml | 21 +++++++++++++++++++++ Dockerfile | 46 ++++------------------------------------------ 3 files changed, 26 insertions(+), 42 deletions(-) create mode 100644 .goreleaser.yml diff --git a/.gitignore b/.gitignore index 89f6ff1..82705cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ openvpn_exporter .idea +dist diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 0000000..09f39c8 --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,21 @@ +# This is an example goreleaser.yaml file with some sane defaults. +# Make sure to check the documentation at http://goreleaser.com +before: + hooks: + - go mod download +builds: +- env: + - CGO_ENABLED=0 + goarch: + - amd64 + goos: + - linux + - darwin +dockers: +- image_templates: + - "caarlos0/openvpn-exporter:latest" + - "caarlos0/openvpn-exporter:{{ .Tag }}" + build_flag_templates: + - "--label=org.label-schema.schema-version=1.0" + - "--label=org.label-schema.version={{ .Version }}" + - "--label=org.label-schema.name={{ .ProjectName }}" diff --git a/Dockerfile b/Dockerfile index b710f14..208bbdf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,42 +1,4 @@ -# BUILD: -# docker build --force-rm=true -t openvpn_exporter . - -# RUN: -# docker run -it -p 9176:9176 -v /path/to/openvpn_server.status:/etc/openvpn_exporter/server.status openvpn_exporter - -FROM golang as builder - -RUN mkdir /app -RUN mkdir /go/src/app -ADD . /go/src/app -WORKDIR /go/src/app - -# Go dep -RUN go get -d ./... - -# Build a standalone binary -RUN set -ex && \ - CGO_ENABLED=0 go build \ - -tags netgo \ - -o /app/openvpn_exporter \ - -v -a \ - -ldflags '-extldflags "-static"' && \ - ls - -# Create the second stage with a basic image. -# this will drop any previous -# stages (defined as `FROM as `) -# allowing us to start with a fat build image and end up with -# a very small runtime image. - -FROM busybox - -# add compiled binary -COPY --from=builder /app/openvpn_exporter /openvpn_exporter - -# add a default file to be processed -ADD examples/server2.status /etc/openvpn_exporter/server.status - -# run -EXPOSE 9176 -CMD ["/openvpn_exporter", "-openvpn.status_paths", "/etc/openvpn_exporter/server.status"] +FROM scratch +COPY openvpn_exporter /bin/openvpn_exporter +ENTRYPOINT ["/bin/openvpn_exporter"] +CMD [ "-h" ]