This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-docker.git
The following commit(s) were added to refs/heads/master by this push:
new 7c033fe feat: support CentOS image for dashboard (#259)
7c033fe is described below
commit 7c033fe84e50c42042a7165c33279852d0170da9
Author: Zeping Bai <[email protected]>
AuthorDate: Fri Dec 24 18:34:12 2021 +0800
feat: support CentOS image for dashboard (#259)
---
.github/workflows/dashboard-docker-test.yaml | 12 +++++--
Makefile | 48 ++++++++++++++++++----------
dashboard/{Dockerfile => Dockerfile.alpine} | 4 ---
dashboard/{Dockerfile => Dockerfile.centos} | 6 +---
4 files changed, 41 insertions(+), 29 deletions(-)
diff --git a/.github/workflows/dashboard-docker-test.yaml
b/.github/workflows/dashboard-docker-test.yaml
index d409d58..012af36 100644
--- a/.github/workflows/dashboard-docker-test.yaml
+++ b/.github/workflows/dashboard-docker-test.yaml
@@ -10,7 +10,13 @@ on:
jobs:
dashboard-docker-test:
- name: build dashboard & test
+ strategy:
+ fail-fast: false
+ matrix:
+ os:
+ - centos
+ - alpine
+ name: build dashboard & test on ${{ matrix.os }}
runs-on: ubuntu-latest
env:
APISIX_DASHBOARD_TAG: "2.10"
@@ -20,7 +26,7 @@ jobs:
- name: Build and run
run: |
- make build-dashboard
+ make build-dashboard-${{ matrix.os }}
docker-compose -f ./compose/dashboard-compose.yaml up -d
sleep 30
docker logs compose_dashboard_1
@@ -33,7 +39,7 @@ jobs:
- name: Tar Image
run: |
- make save-dashboard-tar
+ make save-dashboard-${{ matrix.os }}-tar
- name: Upload Image
uses: actions/upload-artifact@v2
diff --git a/Makefile b/Makefile
index d7facc5..2677b7c 100644
--- a/Makefile
+++ b/Makefile
@@ -142,21 +142,19 @@ save-alpine-tar:
@$(call func_echo_success_status, "$@ -> [ Done ]")
-### build-dashboard : Build apache/dashboard:tag image
-.PHONY: build-dashboard
-build-dashboard:
+### build-dashboard-centos : Build apache/dashboard:tag image on centos
+.PHONY: build-dashboard-centos
+build-dashboard-centos:
@$(call func_echo_status, "$@ -> [ Start ]")
- $(ENV_DOCKER) build -t
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION) -f
./dashboard/Dockerfile .
+ $(ENV_DOCKER) build -t
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION) -f
./dashboard/Dockerfile.centos .
@$(call func_echo_success_status, "$@ -> [ Done ]")
-### push-dashboard : Push apache/dashboard:tag image
-.PHONY: push-dashboard
-push-dashboard:
+### build-dashboard-alpine : Build apache/dashboard:tag image on alpine
+.PHONY: build-dashboard-alpine
+build-dashboard-alpine:
@$(call func_echo_status, "$@ -> [ Start ]")
- $(ENV_DOCKER) push
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)
- $(ENV_DOCKER) build -t $(APISIX_DASHBOARD_IMAGE_NAME):latest -f
./dashboard/Dockerfile .
- $(ENV_DOCKER) push $(APISIX_DASHBOARD_IMAGE_NAME):latest
+ $(ENV_DOCKER) build -t
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION) -f
./dashboard/Dockerfile.alpine .
@$(call func_echo_success_status, "$@ -> [ Done ]")
@@ -165,22 +163,38 @@ push-dashboard:
push-multiarch-dashbaord:
@$(call func_echo_status, "$@ -> [ Start ]")
$(ENV_DOCKER) buildx build --push \
- -t $(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION) \
+ -t
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)-alpine \
+ --build-arg
APISIX_DASHBOARD_VERSION=release/$(APISIX_DASHBOARD_VERSION) \
--platform linux/amd64,linux/arm64 \
- -f ./dashboard/Dockerfile .
+ -f ./dashboard/Dockerfile.alpine .
+ $(ENV_DOCKER) buildx build --push \
+ -t
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)-centos \
+ --build-arg
APISIX_DASHBOARD_VERSION=release/$(APISIX_DASHBOARD_VERSION) \
+ --platform linux/amd64,linux/arm64 \
+ -f ./dashboard/Dockerfile.centos .
$(ENV_DOCKER) buildx build --push \
-t $(APISIX_DASHBOARD_IMAGE_NAME):latest \
+ --build-arg
APISIX_DASHBOARD_VERSION=release/$(APISIX_DASHBOARD_VERSION) \
--platform linux/amd64,linux/arm64 \
- -f ./dashboard/Dockerfile .
+ -f ./dashboard/Dockerfile.centos .
+ @$(call func_echo_success_status, "$@ -> [ Done ]")
+
+
+### save-dashboard-centos-tar : tar apache/apisix-dashboard:tag image
+.PHONY: save-dashboard-centos-tar
+save-dashboard-centos-tar:
+ @$(call func_echo_status, "$@ -> [ Start ]")
+ mkdir -p package
+ $(ENV_DOCKER) save -o
./package/$(APISIX_DASHBOARD_IMAGE_TAR_NAME)_$(APISIX_DASHBOARD_VERSION)-centos.tar
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)
@$(call func_echo_success_status, "$@ -> [ Done ]")
-### save-dashboard-tar : tar apache/apisix-dashboard:tag image
-.PHONY: save-dashboard-tar
-save-dashboard-tar:
+### save-dashboard-alpine-tar : tar apache/apisix-dashboard:tag image
+.PHONY: save-dashboard-alpine-tar
+save-dashboard-alpine-tar:
@$(call func_echo_status, "$@ -> [ Start ]")
mkdir -p package
- $(ENV_DOCKER) save -o
./package/$(APISIX_DASHBOARD_IMAGE_TAR_NAME)_$(APISIX_DASHBOARD_VERSION).tar
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)
+ $(ENV_DOCKER) save -o
./package/$(APISIX_DASHBOARD_IMAGE_TAR_NAME)_$(APISIX_DASHBOARD_VERSION)-alpine.tar
$(APISIX_DASHBOARD_IMAGE_NAME):$(APISIX_DASHBOARD_VERSION)
@$(call func_echo_success_status, "$@ -> [ Done ]")
diff --git a/dashboard/Dockerfile b/dashboard/Dockerfile.alpine
similarity index 93%
copy from dashboard/Dockerfile
copy to dashboard/Dockerfile.alpine
index cb1000f..2267707 100644
--- a/dashboard/Dockerfile
+++ b/dashboard/Dockerfile.alpine
@@ -57,10 +57,6 @@ RUN if [ "$ENABLE_PROXY" = "true" ] ; then yarn config set
registry https://regi
FROM alpine:latest as prod
-ARG ENABLE_PROXY=false
-
-RUN if [ "$ENABLE_PROXY" = "true" ] ; then sed -i
's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories ; fi
-
WORKDIR /usr/local/apisix-dashboard
COPY --from=api-builder /usr/local/apisix-dashboard/output/ ./
diff --git a/dashboard/Dockerfile b/dashboard/Dockerfile.centos
similarity index 92%
rename from dashboard/Dockerfile
rename to dashboard/Dockerfile.centos
index cb1000f..d8c19ff 100644
--- a/dashboard/Dockerfile
+++ b/dashboard/Dockerfile.centos
@@ -55,11 +55,7 @@ RUN if [ "$ENABLE_PROXY" = "true" ] ; then yarn config set
registry https://regi
&& yarn install \
&& yarn build
-FROM alpine:latest as prod
-
-ARG ENABLE_PROXY=false
-
-RUN if [ "$ENABLE_PROXY" = "true" ] ; then sed -i
's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories ; fi
+FROM centos:8 as prod
WORKDIR /usr/local/apisix-dashboard