From c8ea030b5eb677ec17217eaa1e19fc369070baf2 Mon Sep 17 00:00:00 2001 From: Hai Liang Wang Date: Mon, 26 Dec 2022 15:32:28 +0800 Subject: [PATCH] https://github.com/cskefu/cskefu/issues/775 init docker compose files Signed-off-by: Hai Liang Wang --- compose/bin/flush.sh | 35 +++++++++++++ .../plugins/.gitignore | 0 compose/databases/mongodb/.gitignore | 2 + compose/databases/mysql/.gitignore | 2 + compose/databases/rabbitmq/.gitignore | 2 + compose/databases/redis/.gitignore | 2 + compose/docker-compose.yml | 49 +++++++++++++++++++ compose/sample.env | 3 ++ plugins/bin/buildAll.sh | 29 +++++++++++ plugins/sample/pom.xml | 2 +- server/serving-api/Dockerfile | 5 +- server/serving-api/bin/build.sh | 11 ++--- 12 files changed, 134 insertions(+), 8 deletions(-) create mode 100644 compose/bin/flush.sh rename compose/{server => contact-center}/plugins/.gitignore (100%) create mode 100644 compose/databases/mongodb/.gitignore create mode 100644 compose/databases/mysql/.gitignore create mode 100644 compose/databases/rabbitmq/.gitignore create mode 100644 compose/databases/redis/.gitignore create mode 100644 compose/docker-compose.yml create mode 100644 plugins/bin/buildAll.sh diff --git a/compose/bin/flush.sh b/compose/bin/flush.sh new file mode 100644 index 00000000..42771a96 --- /dev/null +++ b/compose/bin/flush.sh @@ -0,0 +1,35 @@ +#! /bin/bash +########################################### +# +########################################### + +# constants +baseDir=$(cd `dirname "$0"`;pwd) +cwdDir=$PWD +export PYTHONUNBUFFERED=1 +export PATH=/opt/miniconda3/envs/venv-py3/bin:$PATH +export TS=$(date +%Y%m%d%H%M%S) +export DATE=`date "+%Y%m%d"` +export DATE_WITH_TIME=`date "+%Y%m%d-%H%M%S"` #add %3N as we want millisecond too + +# functions + +# main +[ -z "${BASH_SOURCE[0]}" -o "${BASH_SOURCE[0]}" = "$0" ] || return +cd $baseDir/.. +echo "Remove docker containers and drop data in 5 seconds ..." +sleep 5 + +docker-compose down + +echo "Clean up db ..." +rm -rf databases/redis/data +rm -rf databases/mysql/data +rm -rf databases/mongodb/data + + +echo "Pull docker images ..." +docker-compose pull + +echo "Start services ..." +docker-compose up -d diff --git a/compose/server/plugins/.gitignore b/compose/contact-center/plugins/.gitignore similarity index 100% rename from compose/server/plugins/.gitignore rename to compose/contact-center/plugins/.gitignore diff --git a/compose/databases/mongodb/.gitignore b/compose/databases/mongodb/.gitignore new file mode 100644 index 00000000..d6b7ef32 --- /dev/null +++ b/compose/databases/mongodb/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/compose/databases/mysql/.gitignore b/compose/databases/mysql/.gitignore new file mode 100644 index 00000000..d6b7ef32 --- /dev/null +++ b/compose/databases/mysql/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/compose/databases/rabbitmq/.gitignore b/compose/databases/rabbitmq/.gitignore new file mode 100644 index 00000000..d6b7ef32 --- /dev/null +++ b/compose/databases/rabbitmq/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/compose/databases/redis/.gitignore b/compose/databases/redis/.gitignore new file mode 100644 index 00000000..d6b7ef32 --- /dev/null +++ b/compose/databases/redis/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml new file mode 100644 index 00000000..a7cf1d36 --- /dev/null +++ b/compose/docker-compose.yml @@ -0,0 +1,49 @@ +version: "3" +services: + contact-center: + image: ${CC_IMAGE:-cskefu/contact-center:v8} + restart: always + ports: + - "${SERVING_API_PORT:-6500}:6500" + volumes: + - ./contact-center/plugins:/opt/cskefu/plugins + environment: + - "JAVA_OPTS=-Xmx${CC_JAVA_XMX:-4096m} -Xms${CC_JAVA_XMS:-2048m} -XX:PermSize=256m -XX:MaxPermSize=1024m -Djava.net.preferIPv4Stack=true" + depends_on: + - mongodb + - redis + - mysql + + mongodb: + image: "tutum/mongodb:3.2" + restart: always + volumes: + - ./databases/mongodb/data:/data/db + ports: + - "${MONGODB_PORT:-6303}:27017" + - "${MONGODB_PORT2:-6305}:27018" + environment: + - AUTH=no + + redis: + image: cskefu/redis:5.0.5 + environment: + - REDIS_PASSWORD=${DB_PASSWD:-123456} + restart: always + volumes: + - ./databases/redis/data:/data + ports: + - "${REDIS_PORT:-6301}:6379" + + mysql: + image: cskefu/mysql:5.7 + restart: always + environment: + - MYSQL_ROOT_PASSWORD=${DB_PASSWD:-123456} + - MYSQL_USER=admin + - MYSQL_PASSWORD=${DB_PASSWD:-123456} + ports: + - "${MYSQL_PORT:-6300}:3306" + volumes: + - ./databases/mysql/data:/var/lib/mysql + command: --max_allowed_packet=32505856 \ No newline at end of file diff --git a/compose/sample.env b/compose/sample.env index ab37c3f1..6c539081 100644 --- a/compose/sample.env +++ b/compose/sample.env @@ -5,3 +5,6 @@ # is ignored with .gitignore COMPOSE_FILE=docker-compose.yml COMPOSE_PROJECT_NAME=cskefu_v8 + +SERVING_API_PORT=6500 +DB_PASSWD=123456 \ No newline at end of file diff --git a/plugins/bin/buildAll.sh b/plugins/bin/buildAll.sh new file mode 100644 index 00000000..d7860f20 --- /dev/null +++ b/plugins/bin/buildAll.sh @@ -0,0 +1,29 @@ +#! /bin/bash +########################################### +# Install All public plugins +# Copyright (2019-2023) 北京华夏春松科技有限公司 +########################################### + +# constants +baseDir=$(cd `dirname "$0"`;pwd) + +# functions + +# main +[ -z "${BASH_SOURCE[0]}" -o "${BASH_SOURCE[0]}" = "$0" ] || return + +echo "Remove old plugins ..." +set -x +rm -rf $baseDir/../../compose/contact-center/plugins/*.jar +set +x + +cd $baseDir/.. +echo "Inspect plugins -->" `pwd` +for x in `ls .`; do + cd $baseDir/.. + if [ -d ./$x ] && [ $x != "bin" ] && [ -f $x/pom.xml ]; then + cd $x + echo "Install Plugin" `pwd` + mvn -DskipTests clean package + fi +done diff --git a/plugins/sample/pom.xml b/plugins/sample/pom.xml index 536b0cd8..09169f23 100644 --- a/plugins/sample/pom.xml +++ b/plugins/sample/pom.xml @@ -92,7 +92,7 @@ com.cskefu.plugins.sample.Sample true - ../../compose/server/plugins + ../../compose/contact-center/plugins diff --git a/server/serving-api/Dockerfile b/server/serving-api/Dockerfile index 8b99a508..0200dc07 100644 --- a/server/serving-api/Dockerfile +++ b/server/serving-api/Dockerfile @@ -15,7 +15,10 @@ ENV SPRING_PROFILES_ACTIVE=docker LABEL org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/cskefu/cskefu" -RUN rm -rf /opt/cskefu && mkdir /opt/cskefu && mkdir /opt/cskefu/felix-cache +RUN rm -rf /opt/cskefu && mkdir /opt/cskefu && \ + mkdir /opt/cskefu/felix-cache && \ + mkdir /opt/cskefu/plugins + COPY ./target/serving-api.jar /opt/cskefu/serving-api.jar COPY ./target/internal-bundles /opt/cskefu/internal-bundles COPY ./assets/*.sh /opt/cskefu diff --git a/server/serving-api/bin/build.sh b/server/serving-api/bin/build.sh index d9f96e6c..295ea726 100755 --- a/server/serving-api/bin/build.sh +++ b/server/serving-api/bin/build.sh @@ -30,12 +30,11 @@ if [ ! $? -eq 0 ]; then exit 1 fi -$baseDir/package.sh - -if [ ! $? -eq 0 ]; then - echo "Error happens on package." - exit 1 -fi +# $baseDir/package.sh # package happens with deploy.sh +# if [ ! $? -eq 0 ]; then +# echo "Error happens on package." +# exit 1 +# fi set -x docker build --build-arg VCS_REF=$PACKAGE_VERSION \