34 lines
631 B
Docker
34 lines
631 B
Docker
|
# syntax=docker/dockerfile:1
|
||
|
## Build
|
||
|
FROM golang:1.13 AS build
|
||
|
|
||
|
WORKDIR /app
|
||
|
|
||
|
COPY go.mod ./
|
||
|
COPY go.sum ./
|
||
|
|
||
|
COPY cmd cmd
|
||
|
COPY internal internal
|
||
|
COPY assets assets
|
||
|
|
||
|
# test
|
||
|
RUN go test ./cmd/... ./internal/...
|
||
|
RUN go vet ./cmd/... ./internal/...
|
||
|
|
||
|
# Build binary
|
||
|
RUN go build -o build/drone-helm cmd/drone-helm/main.go
|
||
|
|
||
|
## Deploy
|
||
|
FROM alpine/helm:3.8.1
|
||
|
|
||
|
RUN apk add libc6-compat
|
||
|
|
||
|
# COPY build/drone-helm /bin/drone-helm
|
||
|
COPY --from=build /app/build/drone-helm /bin/drone-helm
|
||
|
COPY assets/kubeconfig.tpl /root/.kube/config.tpl
|
||
|
|
||
|
LABEL description="Helm 3 plugin for Drone 3"
|
||
|
LABEL base="alpine/helm"
|
||
|
|
||
|
ENTRYPOINT [ "/bin/drone-helm" ]
|