From ac6e0bb1cdb22ef43ea5be2fd463fd9be41497d7 Mon Sep 17 00:00:00 2001 From: Xuhui zhang Date: Fri, 15 Mar 2024 14:38:20 +0800 Subject: [PATCH] Make dashboard image build fast Signed-off-by: Xuhui zhang --- Makefile | 8 ++++---- docker/dashboard.Dockerfile | 15 +-------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 07c58665d3..0fa03c77d1 100644 --- a/Makefile +++ b/Makefile @@ -54,14 +54,14 @@ dashboard-dist: .PHONY: dashboard dashboard: mkdir -p bin - go build -tags=jsoniter -ldflags ${LDFLAGS} -o bin/juicefs-csi-dashboard ./cmd/dashboard/ + CGO_ENABLED=0 go build -tags=jsoniter -ldflags ${LDFLAGS} -o bin/juicefs-csi-dashboard ./cmd/dashboard/ .PHONY: dashboard-dev dashboard-dev: dashboard ./bin/juicefs-csi-dashboard -v=6 --dev --static-dir=./dashboard-ui/dist .PHONY: dashboard-image -dashboard-image: +dashboard-image: dashboard docker build --build-arg HTTP_PROXY=$(HTTP_PROXY) --build-arg HTTPS_PROXY=$(HTTPS_PROXY) --build-arg GOPROXY=$(GOPROXY) \ -t $(REGISTRY)/juicedata/csi-dashboard:$(VERSION) -f docker/dashboard.Dockerfile . @@ -88,10 +88,10 @@ uninstall: yaml # build dev image .PHONY: image-dev -image-dev: juicefs-csi-driver +image-dev: juicefs-csi-driver dashboard docker build --build-arg TARGETARCH=$(TARGETARCH) -t $(IMAGE):$(DEV_TAG) -f docker/dev.Dockerfile bin docker build --build-context project=. --build-context ui=dashboard-ui/ -f docker/dashboard.Dockerfile \ - -t $(REGISTRY)/$(DASHBOARD_IMAGE):$(DEV_TAG) . + -t $(REGISTRY)/$(DASHBOARD_IMAGE):$(DEV_TAG) bin # push dev image .PHONY: push-dev diff --git a/docker/dashboard.Dockerfile b/docker/dashboard.Dockerfile index 1d7e7d046b..dec9b3d70e 100644 --- a/docker/dashboard.Dockerfile +++ b/docker/dashboard.Dockerfile @@ -12,20 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM golang:1.20-alpine as builder -ARG GOPROXY -ARG HTTPS_PROXY -ARG HTTP_PROXY -WORKDIR /workspace -COPY --from=project **/*.go ./ -COPY --from=project cmd ./cmd -COPY --from=project pkg ./pkg -COPY --from=project go.mod . -COPY --from=project go.sum . -COPY --from=project Makefile . -RUN apk add --no-cache make && make dashboard - FROM alpine:3.18 COPY --from=ui dist /dist -COPY --from=builder /workspace/bin/juicefs-csi-dashboard /usr/local/bin/juicefs-csi-dashboard +COPY juicefs-csi-dashboard /usr/local/bin/juicefs-csi-dashboard ENTRYPOINT ["juicefs-csi-dashboard"]