From a5916b4283a0869122d1f953a9ef90fdbf80dc07 Mon Sep 17 00:00:00 2001 From: SystemsPurge Date: Wed, 20 Aug 2025 09:55:40 +0200 Subject: [PATCH] remove brand specific data, make branding applicable through a volume mount to the nginx image Signed-off-by: SystemsPurge --- .gitlab-ci.yml | 36 +- Dockerfile | 48 +- src/app.js | 10 +- src/branding/branding.js | 219 ---- src/branding/default/footer.html | 3 + src/branding/default/home.html | 33 + src/branding/default/values.json | 19 + src/branding/default/welcome.html | 8 + .../villasweb-functions.js => functions.js} | 93 +- src/branding/{opalrt => }/img/datamodel.png | Bin src/branding/{opalrt => }/img/eonerc_rwth.svg | 0 src/branding/{slew => }/img/erigrid2.png | Bin .../{slew => }/img/european_commission.svg | 0 src/branding/{villasweb => }/img/jara.svg | 0 src/branding/{villasweb => }/img/reserve.svg | 0 src/branding/{villasweb => }/img/uel.png | Bin .../{villasweb => }/img/uel_efre.jpeg | Bin .../{villasweb => }/img/villas_web.svg | 0 src/branding/injector.js | 104 ++ src/branding/opalrt/img/logo_opalrt.svg | 128 -- .../opalrt/img/logo_opalrt_square.svg | 224 ---- src/branding/opalrt/opalrt-functions.js | 75 -- src/branding/opalrt/opalrt-values.js | 40 - src/branding/slew/img/eonerc_rwth.svg | 152 --- src/branding/slew/img/slew_blue.svg | 1024 ---------------- src/branding/slew/img/slew_logo.png | Bin 44732 -> 0 bytes src/branding/slew/img/slew_magenta.svg | 1057 ----------------- src/branding/slew/slew-functions.js | 66 - src/branding/slew/slew-values.js | 44 - src/branding/slew/slew.css | 4 - src/branding/style.css | 8 + src/branding/template/img/template_logo.svg | 109 -- src/branding/template/template-functions.js | 52 - src/branding/template/template-values.js | 44 - src/branding/villasweb/img/datamodel.png | Bin 196372 -> 0 bytes src/branding/villasweb/img/eonerc_rwth.svg | 152 --- src/branding/villasweb/img/erigrid2.png | Bin 18902 -> 0 bytes .../villasweb/img/european_commission.svg | 272 ----- src/branding/villasweb/villasweb-values.js | 38 - src/common/header.js | 16 +- src/common/home.js | 14 +- src/common/menu.js | 61 +- src/pages/login/login.js | 8 +- 43 files changed, 339 insertions(+), 3822 deletions(-) delete mode 100644 src/branding/branding.js create mode 100644 src/branding/default/footer.html create mode 100644 src/branding/default/home.html create mode 100644 src/branding/default/values.json create mode 100644 src/branding/default/welcome.html rename src/branding/{villasweb/villasweb-functions.js => functions.js} (70%) rename src/branding/{opalrt => }/img/datamodel.png (100%) rename src/branding/{opalrt => }/img/eonerc_rwth.svg (100%) rename src/branding/{slew => }/img/erigrid2.png (100%) rename src/branding/{slew => }/img/european_commission.svg (100%) rename src/branding/{villasweb => }/img/jara.svg (100%) rename src/branding/{villasweb => }/img/reserve.svg (100%) rename src/branding/{villasweb => }/img/uel.png (100%) rename src/branding/{villasweb => }/img/uel_efre.jpeg (100%) rename src/branding/{villasweb => }/img/villas_web.svg (100%) create mode 100644 src/branding/injector.js delete mode 100644 src/branding/opalrt/img/logo_opalrt.svg delete mode 100755 src/branding/opalrt/img/logo_opalrt_square.svg delete mode 100644 src/branding/opalrt/opalrt-functions.js delete mode 100644 src/branding/opalrt/opalrt-values.js delete mode 100644 src/branding/slew/img/eonerc_rwth.svg delete mode 100644 src/branding/slew/img/slew_blue.svg delete mode 100644 src/branding/slew/img/slew_logo.png delete mode 100644 src/branding/slew/img/slew_magenta.svg delete mode 100644 src/branding/slew/slew-functions.js delete mode 100644 src/branding/slew/slew-values.js delete mode 100644 src/branding/slew/slew.css create mode 100644 src/branding/style.css delete mode 100644 src/branding/template/img/template_logo.svg delete mode 100644 src/branding/template/template-functions.js delete mode 100644 src/branding/template/template-values.js delete mode 100644 src/branding/villasweb/img/datamodel.png delete mode 100644 src/branding/villasweb/img/eonerc_rwth.svg delete mode 100644 src/branding/villasweb/img/erigrid2.png delete mode 100644 src/branding/villasweb/img/european_commission.svg delete mode 100644 src/branding/villasweb/villasweb-values.js diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d619f5c2..d51bb20f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,56 +10,26 @@ build: stage: build image: name: docker - variables: - BRANDING: villasweb - DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} script: - - docker build --build-arg REACT_APP_BRAND=${BRANDING} --tag ${DOCKER_IMAGE}:${DOCKER_TAG} . + - docker build --build-arg REACT_APP_BRAND=${BRANDING} --tag ${DOCKER_IMAGE}:${CI_COMMIT_BRANCH} . tags: - docker -build.slew: - variables: - BRANDING: slew - DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} - extends: build - -build.opalrt: - variables: - BRANDING: opalrt - DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} - extends: build - deploy: stage: deploy - variables: - BRANDING: villasweb - DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} before_script: - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} script: - - docker push ${DOCKER_IMAGE}:${DOCKER_TAG} + - docker push ${DOCKER_IMAGE}:${CI_COMMIT_BRANCH} tags: - docker dependencies: - build -deploy.slew: - extends: deploy - variables: - BRANDING: slew - DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} - -deploy.opalrt: - extends: deploy - variables: - BRANDING: opalrt - DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} - deploy.latest: extends: deploy variables: DOCKER_TAG: latest only: refs: - - master + - master \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 8afedf20..9d7aae3e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,23 +15,33 @@ # along with VILLASweb. If not, see . # ****************************************************************************** -FROM node:16.5 AS builder + FROM node:16.5 AS builder -# Create app directory -RUN mkdir -p /usr/src/app -WORKDIR /usr/src/app - -# use changes to package.json to force Docker not to use the cache -# when we change our application's nodejs dependencies: -ADD package.json /usr/src/app -RUN npm install --force - -# Install app dependencies -ARG REACT_APP_BRAND -COPY . /usr/src/app -# Production build, CI=false prevents warnings from being treated as errors -RUN CI=false npm run build - -FROM nginx - -COPY --from=builder /usr/src/app/build /usr/share/nginx/html + # Create app directory + RUN mkdir -p /usr/src/app + WORKDIR /usr/src/app + + # use changes to package.json to force Docker not to use the cache + # when we change our application's nodejs dependencies: + ADD package.json /usr/src/app + RUN npm install --force + + # Install app dependencies + ARG REACT_APP_BRAND + COPY . /usr/src/app + # Production build, CI=false prevents warnings from being treated as errors + RUN CI=false npm run build + WORKDIR /usr/src/app/build + + RUN sed -i 's/<\/body>/