34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
ARG GOLANG_CI_LINT_VERSION
|
|
|
|
FROM golang:1.23 as builder
|
|
ENV PATH /go/bin:/usr/local/go/bin:$PATH
|
|
ENV GOPATH /go
|
|
COPY . /go/src/github.com/virtual-kubelet/alibabacloud-eci
|
|
WORKDIR /go/src/github.com/virtual-kubelet/alibabacloud-eci
|
|
RUN make build
|
|
RUN cp bin/virtual-kubelet /usr/bin/virtual-kubelet
|
|
|
|
FROM golangci/golangci-lint:${GOLANG_CI_LINT_VERSION} as lint
|
|
WORKDIR /app
|
|
COPY go.mod ./
|
|
COPY go.sum ./
|
|
RUN \
|
|
--mount=type=cache,target=/root/.cache/go-build \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
go mod download
|
|
COPY . .
|
|
ARG OUT_FORMAT
|
|
RUN \
|
|
--mount=type=cache,target=/root/.cache/go-build \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=cache,target=/root/.cache/golangci-lint \
|
|
golangci-lint run -v --out-format="${OUT_FORMAT:-colored-line-number}"
|
|
|
|
FROM alpine:latest
|
|
COPY --from=builder /usr/bin/virtual-kubelet /usr/bin/virtual-kubelet
|
|
COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs
|
|
|
|
RUN mkdir -p /root/.kube
|
|
|
|
ENTRYPOINT [ "/usr/bin/virtual-kubelet" ]
|
|
CMD [ "--help" ] |