Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.

Commit

Permalink
Build with docker
Browse files Browse the repository at this point in the history
  • Loading branch information
whi-tw committed Jan 15, 2019
1 parent 7d4728e commit 6a168b5
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
36 changes: 36 additions & 0 deletions Dockerfile
@@ -0,0 +1,36 @@
FROM golang:alpine as builder

ENV CGO_ENABLED=0
ENV GOOS=linux
ENV GOARCH=amd64
ENV GO111MODULE=on

RUN apk update && apk add --no-cache git ca-certificates tzdata && update-ca-certificates

RUN adduser -D -g '' appuser

ADD . ${GOPATH}/src/app/
WORKDIR ${GOPATH}/src/app

RUN go build -a -installsuffix cgo -ldflags="-w -s" -o /go/bin/speedtest_exporter

FROM scratch
ARG VCS_REF
ARG BUILD_DATE

LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url="https://github.com/nlamirault/speedtest_exporter" \
org.label-schema.docker.cmd="docker run tnwhitwell/speedtest_exporter" \
org.label-schema.schema-version="1.0" \
maintainer="tom@whi.tw"

COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /etc/passwd /etc/passwd

COPY --from=builder /go/bin/speedtest_exporter /go/bin/speedtest_exporter

USER appuser

ENTRYPOINT [ "/go/bin/speedtest_exporter" ]
5 changes: 5 additions & 0 deletions hooks/build
@@ -0,0 +1,5 @@
#!/bin/bash
# $IMAGE_NAME var is injected into the build so the tag is correct.
docker build --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-t $IMAGE_NAME .
6 changes: 6 additions & 0 deletions hooks/post_push
@@ -0,0 +1,6 @@
#!/bin/bash
docker tag $IMAGE_NAME $DOCKER_REPO:$SOURCE_COMMIT
docker push $DOCKER_REPO:$SOURCE_COMMIT
export GO_VERSION=$(cat version/version.go | awk 'match($0, /[0-9].[0-9].[0-9]/) {print substr( $0, RSTART, RLENGTH )}')
docker tag $IMAGE_NAME $DOCKER_REPO:${GO_VERSION}
docker push $DOCKER_REPO:${GO_VERSION}

0 comments on commit 6a168b5

Please sign in to comment.