All checks were successful
Virtual Kubelet Docker Build and Deploy / build-and-deploy (push) Successful in 2m19s
CI 服务器在香港,无法访问 registry-vpc 内网地址 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
1.3 KiB
Docker
38 lines
1.3 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
|
|
# 设置 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" ] |