26 lines
No EOL
721 B
Docker
26 lines
No EOL
721 B
Docker
FROM golang:alpine as builder
|
|
|
|
RUN apk add --no-cache git make build-base
|
|
|
|
ARG CI_COMMIT_BRANCH
|
|
ARG CI_COMMIT_SHORT_SHA
|
|
ARG CI_COMMIT_TAG
|
|
|
|
ENV CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH
|
|
ENV CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA
|
|
ENV CI_COMMIT_TAG=$CI_COMMIT_TAG
|
|
|
|
ENV I_PACKAGE="git.hackmi.ch/Phil/goshorly/utils"
|
|
ENV CGO_ENABLED=0
|
|
|
|
WORKDIR /go/src/git.hackmi.ch/goshorly
|
|
COPY . .
|
|
|
|
RUN go get -d -v ./...
|
|
|
|
RUN go build -a -installsuffix cgo -ldflags=" -X $I_PACKAGE.CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA -X $I_PACKAGE.CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH -X $I_PACKAGE.CI_COMMIT_TAG=$CI_COMMIT_TAG" -o app .
|
|
|
|
FROM scratch as production
|
|
WORKDIR /
|
|
COPY --from=builder /go/src/git.hackmi.ch/goshorly/app /app
|
|
ENTRYPOINT [ "/app" ] |