From 80c9c02cd7eb0747e74af00ad39d84618b37aa2a Mon Sep 17 00:00:00 2001 From: Dmitry Vasiliev Date: Sun, 17 May 2020 16:47:53 +0300 Subject: [PATCH] add docker build --- .github/workflows/docker.yml | 22 ++++++++++++++++++++++ Dockerfile | 20 ++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 Dockerfile diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..0606a2f --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,22 @@ +name: Publish to Registry +on: + push: + branches: + - master + tags: + - v* +jobs: + push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Get release version + id: get_version + run: echo ::set-env name=RELEASE_VERSION::$(echo ${GITHUB_REF:10}) + - name: Publish to Registry + uses: elgohr/Publish-Docker-Github-Action@master + with: + name: vadv/prometheus-exporter-merger + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + tags: "latest,${{ env.RELEASE_VERSION }}" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a310a17 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM golang:1.14-alpine3.11 as builder + +RUN apk add --no-cache git make gcc libc-dev + +COPY go.mod . +COPY go.sum . +RUN go mod download + +COPY . . +RUN go build --ldflags "-s -w -linkmode external -extldflags -static" --tags netcgo -o /prometheus-exporter-merger + +FROM scratch + +ENTRYPOINT ["/prometheus-exporter-merger"] +USER nobody +EXPOSE 8080 +COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt +COPY --from=builder /etc/passwd /etc/passwd +COPY --from=builder /prometheus-exporter-merger /prometheus-exporter-merger +ENTRYPOINT /prometheus-exporter-merger