TT#84214 As a Developer, I want to run the dev environment in Docker

Change-Id: I529e9e5f58961c26ad80cd3e544136a2dcb191e8
changes/90/41090/3
Hans-Peter Herzog 5 years ago
parent eb1782ede9
commit ca09f7f9df

@ -31,7 +31,7 @@ module.exports = {
env: require('./dev.env'), env: require('./dev.env'),
cssSourceMap: true, cssSourceMap: true,
// auto open browser or not // auto open browser or not
openBrowser: true, openBrowser: false,
publicPath: '/', publicPath: '/',
port: 8080, port: 8080,

2
debian/rules vendored

@ -7,7 +7,7 @@
dh "$@" dh "$@"
override_dh_auto_install: override_dh_auto_install:
npm install npm ci
cp src/config.template.js src/config.js cp src/config.template.js src/config.js
npm run build npm run build
mv dist csc mv dist csc

50
env/Dockerfile vendored

@ -0,0 +1,50 @@
# DOCKER_NAME=ngcp-csc-ui-env-buster
FROM docker.mgm.sipwise.com/sipwise-buster:latest
# Important! Update this no-op ENV variable when this Dockerfile
# is updated with the current date. It will force refresh of all
# of the base images and things like `apt-get update` won't be using
# old cached versions when the Dockerfile is built.
ENV REFRESHED_AT 2020-06-17
# files that get-code generates
COPY env/sources.list.d/builddeps.list /etc/apt/sources.list.d/
COPY env/sources.list.d/preferences /etc/apt/preferences.d/
RUN apt-get update && \
apt-get install --assume-yes \
npm \
nodejs \
&& \
apt-get clean
RUN echo "cd /code && t/run_csc_ui <ip-or-fqdn-of-your-installation>" > /root/.bash_history
WORKDIR /code
################################################################################
# Instructions for usage
# ----------------------
#
# Use the existing docker image:
# % docker pull docker.mgm.sipwise.com/ngcp-csc-ui-env-buster
# NOTE: run the following command from root folder of git repository:
# % docker run --rm -p 8080:8080 -i -t -v $(pwd):/code:rw docker.mgm.sipwise.com/ngcp-csc-ui-env-buster:latest env/run_csc_ui <ip-or-fqdn-of-your-installation>
#
# You can also run shell inside the Docker container if strictly necessary
# % docker run --rm -p 8080:8080 -i -t -v $(pwd):/code:rw docker.mgm.sipwise.com/ngcp-csc-ui-env-buster:latest bash
# Inside docker: press UP and follow the command on the screen
#
# ==============================================================================
#
# When you want to build the base image from scratch
# you need to put the proper NGCP sources at env/sources.list.d/builddeps.list
# for instance, trunk:
# echo "deb https://deb.sipwise.com/autobuild/ release-trunk-buster main" > env/sources.list.d/builddeps.list
#
# NOTE: run the following command from root folder of git repository:
# % docker build --no-cache --tag="ngcp-csc-ui-env-buster" -f env/Dockerfile .
# % docker run --rm -p 8080:8080 -i -t -v $(pwd):/code:rw ngcp-csc-ui-env-buster:latest bash
# Inside docker: press UP and follow the command on the screen
#
################################################################################

52
env/run_csc_ui vendored

@ -0,0 +1,52 @@
#!/bin/bash
set -e
echo "Jumping into /code source storage"
cd /code
echo "Checking NGCP environment configuration"
ngcp_address="$1"
if [ -z "${ngcp_address}" ] ; then
echo "ERROR: Missing NGCP address, please check the script parameters. Aborting."
exit 1
fi
echo "Found NGCP address '${ngcp_address}', processing further..."
app_config="src/config.js"
default_app_config="src/config.template.js"
if [ ! -f "${app_config}" ]; then
if [ ! -f "${default_app_config}" ]; then
echo "ERROR: missing default quasar config '${default_app_config}'. Aborting."
exit 1
fi
echo "Missing '${app_config}', copying default quasar config '${default_app_config}'"
cp "${default_app_config}" "${app_config}"
fi
echo "Found quasar config '${app_config}', checking content..."
if ! grep -q "${ngcp_address}" "${app_config}" >/dev/null 2>&1; then
echo "NGCP address '${ngcp_address}' is missing in '${app_config}', regenerating from default config..."
cp -a "${default_app_config}" "${app_config}"
sed -i -e "s|baseHttpUrl:.*|baseHttpUrl: 'https://${ngcp_address}:1443',|" "${app_config}"
sed -i -e "s|baseWsUrl:.*|baseWsUrl: 'wss://${ngcp_address}:1443'|" "${app_config}"
fi
echo "App config '${app_config}' is OK."
echo "JFYI, important components versions:"
echo -n "node --version : " && node --version
echo -n "npm --version : " && npm --version
echo "Configuring Vue.js/Quasar dev environment, running 'npm ci'..."
if ! npm ci ; then
echo "ERROR: cannot install all npm dependencies. Aborting."
exit 1
fi
echo "Starting Quasar dev environment, running 'npm run dev'..."
if ! npm run dev; then
echo "ERROR: cannot run quasar dev environment. Aborting."
exit 1
fi

@ -10,7 +10,8 @@
"build": "node build/script.build.js mat", "build": "node build/script.build.js mat",
"dev-build": "CSC_SOURCE_MAP=1 CSC_WATCH=1 node build/script.build.js mat", "dev-build": "CSC_SOURCE_MAP=1 CSC_WATCH=1 node build/script.build.js mat",
"test": "karma start ./karma.js --single-run", "test": "karma start ./karma.js --single-run",
"dev-test": "karma start ./karma.js" "dev-test": "karma start ./karma.js",
"dev-docker": "docker pull docker.mgm.sipwise.com/ngcp-csc-ui-env-buster; docker run --rm -p 8080:8080 -i -t -v $(pwd):/code:rw docker.mgm.sipwise.com/ngcp-csc-ui-env-buster:latest env/run_csc_ui $1"
}, },
"dependencies": { "dependencies": {
"babel-runtime": "^6.25.0", "babel-runtime": "^6.25.0",

Loading…
Cancel
Save