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 # 设置 Go 国内代理加速 RUN go env -w GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,direct RUN make build RUN cp bin/virtual-kubelet /usr/bin/virtual-kubelet FROM golangci/golangci-lint:${GOLANG_CI_LINT_VERSION} as lint WORKDIR /app # 设置 Go 国内代理加速 RUN go env -w GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,direct 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" ]