All checks were successful
Virtual Kubelet Docker Build and Deploy / build-and-deploy (push) Successful in 2m33s
- 在 builder 和 lint 阶段均添加 GOPROXY 环境变量以加速依赖下载 - 使用国内镜像源(goproxy.cn 和 mirrors.aliyun.com)提升构建速度 - 调整文件复制命令的格式以保持一致性
38 lines
1.4 KiB
Docker
38 lines
1.4 KiB
Docker
ARG GOLANG_CI_LINT_VERSION
|
|
|
|
FROM registry-vpc.cn-beijing.aliyuncs.com/d8dcloud/go: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 registry-vpc.cn-beijing.aliyuncs.com/d8dcloud/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 registry-vpc.cn-beijing.aliyuncs.com/d8dcloud/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" ] |