From e32043f58a2450b6a5986dc2a01f64f8b22c3992 Mon Sep 17 00:00:00 2001 From: "Yang (Gabriel) Yu" Date: Tue, 4 Sep 2018 21:02:27 +0800 Subject: Change naming and veriy test-scheduler function Changes: 1. Testing-scheduler -> Test-scheduler 2. lots of windows breaks '\r' and '^M' in files, batch changes to unix breaks '$' 3. Add ui/build Change-Id: I1f2c98ab9348460d4e68bfbfab664dae82b761ba Signed-off-by: Yang (Gabriel) Yu --- test-scheduler/docker/build.sh | 20 ++++++++++++++++ test-scheduler/docker/clean.sh | 32 +++++++++++++++++++++++++ test-scheduler/docker/plugin/Dockerfile | 24 +++++++++++++++++++ test-scheduler/docker/plugin/build.sh | 28 ++++++++++++++++++++++ test-scheduler/docker/plugin/run.sh | 14 +++++++++++ test-scheduler/docker/run.sh | 20 ++++++++++++++++ test-scheduler/docker/server/Dockerfile | 29 ++++++++++++++++++++++ test-scheduler/docker/server/build.sh | 20 ++++++++++++++++ test-scheduler/docker/server/clean.sh | 17 +++++++++++++ test-scheduler/docker/server/run.sh | 17 +++++++++++++ test-scheduler/docker/ui/Dockerfile | 16 +++++++++++++ test-scheduler/docker/ui/build.sh | 22 +++++++++++++++++ test-scheduler/docker/ui/clean.sh | 19 +++++++++++++++ test-scheduler/docker/ui/pre-builder/Dockerfile | 18 ++++++++++++++ test-scheduler/docker/ui/pre-builder/build.sh | 17 +++++++++++++ test-scheduler/docker/ui/pre-builder/run.sh | 21 ++++++++++++++++ test-scheduler/docker/ui/run.sh | 17 +++++++++++++ 17 files changed, 351 insertions(+) create mode 100644 test-scheduler/docker/build.sh create mode 100644 test-scheduler/docker/clean.sh create mode 100644 test-scheduler/docker/plugin/Dockerfile create mode 100644 test-scheduler/docker/plugin/build.sh create mode 100644 test-scheduler/docker/plugin/run.sh create mode 100644 test-scheduler/docker/run.sh create mode 100644 test-scheduler/docker/server/Dockerfile create mode 100644 test-scheduler/docker/server/build.sh create mode 100644 test-scheduler/docker/server/clean.sh create mode 100644 test-scheduler/docker/server/run.sh create mode 100644 test-scheduler/docker/ui/Dockerfile create mode 100644 test-scheduler/docker/ui/build.sh create mode 100644 test-scheduler/docker/ui/clean.sh create mode 100644 test-scheduler/docker/ui/pre-builder/Dockerfile create mode 100644 test-scheduler/docker/ui/pre-builder/build.sh create mode 100644 test-scheduler/docker/ui/pre-builder/run.sh create mode 100644 test-scheduler/docker/ui/run.sh (limited to 'test-scheduler/docker') diff --git a/test-scheduler/docker/build.sh b/test-scheduler/docker/build.sh new file mode 100644 index 00000000..8cedb622 --- /dev/null +++ b/test-scheduler/docker/build.sh @@ -0,0 +1,20 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) + +#build conductor +sh $basepath/plugin/build.sh + +#build server +sh $basepath/server/build.sh + +#build ui +sh $basepath/ui/build.sh diff --git a/test-scheduler/docker/clean.sh b/test-scheduler/docker/clean.sh new file mode 100644 index 00000000..cab7a1b0 --- /dev/null +++ b/test-scheduler/docker/clean.sh @@ -0,0 +1,32 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +sudo docker rm -f t-scheduler-server \ + t-scheduler-ui \ + conductor_conductor-server_1 \ + conductor_conductor-ui_1 \ + conductor_dynomite_1 \ + conductor_elasticsearch_1 + +sudo docker network rm conductor_default + +sudo docker rmi x-lab/test-scheduler:server \ + x-lab/test-scheduler:ui \ + x-lab/conductor:builder \ + conductor:ui \ + conductor:server \ + elasticsearch:2.4 \ + v1r3n/dynomite:latest \ + java:8-jre-alpine \ + python:2.7 \ + node:alpine \ + nginx:latest \ + java:latest \ + +echo "--- Clean Finished ---" diff --git a/test-scheduler/docker/plugin/Dockerfile b/test-scheduler/docker/plugin/Dockerfile new file mode 100644 index 00000000..7d779f05 --- /dev/null +++ b/test-scheduler/docker/plugin/Dockerfile @@ -0,0 +1,24 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +FROM java +MAINTAINER x-lab/Leo +RUN useradd -m noroot -s /bin/bash +USER noroot +WORKDIR /home/noroot +ENV BUILD_DIR build_dir +ENV REPO_DIR ${BUILD_DIR}/conductor + +RUN mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} && \ + git clone http://github.com/Netflix/conductor.git && \ + cd conductor && git checkout v1.10.4 + +RUN cd ${REPO_DIR} && ./gradlew build + +CMD tail -f /dev/null diff --git a/test-scheduler/docker/plugin/build.sh b/test-scheduler/docker/plugin/build.sh new file mode 100644 index 00000000..d5523b49 --- /dev/null +++ b/test-scheduler/docker/plugin/build.sh @@ -0,0 +1,28 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) +tmppath=$basepath/tmp_files +docker_tmppath=/home/noroot/build_dir/conductor +group="x-lab" +plugin_image="$group/conductor:builder" +plugin_container="conductor-builder" +#build the gradle project in a temp container. + +mkdir -p $tmppath +docker build -t $plugin_image -f $basepath/Dockerfile $basepath +docker run -d --name $plugin_container $plugin_image +docker cp $plugin_container:$docker_tmppath $tmppath/ +docker rm -f $plugin_container +#docker rmi $plugin_image + +#build the images of conductor. +cd $tmppath/conductor/docker +docker-compose build diff --git a/test-scheduler/docker/plugin/run.sh b/test-scheduler/docker/plugin/run.sh new file mode 100644 index 00000000..31aec665 --- /dev/null +++ b/test-scheduler/docker/plugin/run.sh @@ -0,0 +1,14 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) +tmppath=$basepath/tmp_files +cd $tmppath/conductor/docker +docker-compose -p conductor up -d diff --git a/test-scheduler/docker/run.sh b/test-scheduler/docker/run.sh new file mode 100644 index 00000000..6ad82ac8 --- /dev/null +++ b/test-scheduler/docker/run.sh @@ -0,0 +1,20 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) + +#run conductor containers +sh $basepath/plugin/run.sh + +#run server +sh $basepath/server/run.sh + +#run ui +sh $basepath/ui/run.sh diff --git a/test-scheduler/docker/server/Dockerfile b/test-scheduler/docker/server/Dockerfile new file mode 100644 index 00000000..6434f14d --- /dev/null +++ b/test-scheduler/docker/server/Dockerfile @@ -0,0 +1,29 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +FROM python:2.7 +MAINTAINER x-lab/Leo +WORKDIR /home/test-scheduler/server +COPY ./server . + +RUN pip install -r ./python_modules.txt + +ENV CONDUCTOR_DIR /home/test-scheduler/conductor +RUN mkdir ${CONDUCTOR_DIR} && cd ${CONDUCTOR_DIR} && \ + git clone http://github.com/Netflix/conductor.git && \ + cd conductor && git checkout v1.10.4 +RUN cd ${CONDUCTOR_DIR}/conductor/client/python && \ + python setup.py install + +RUN pip install -U . + +EXPOSE 5310 +EXPOSE 5312 +CMD sh -c 'python /usr/local/lib/python2.7/site-packages/src/rest/router.py & \ + python ./src/rest/test_service_demo.py' diff --git a/test-scheduler/docker/server/build.sh b/test-scheduler/docker/server/build.sh new file mode 100644 index 00000000..63363633 --- /dev/null +++ b/test-scheduler/docker/server/build.sh @@ -0,0 +1,20 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) + +# get the root directory of this project +projectpath=$basepath/../.. +group="x-lab" + +# server image name +server_image="$group/test-scheduler:server" + +docker build -t $server_image -f $basepath/Dockerfile $projectpath diff --git a/test-scheduler/docker/server/clean.sh b/test-scheduler/docker/server/clean.sh new file mode 100644 index 00000000..c79a78a8 --- /dev/null +++ b/test-scheduler/docker/server/clean.sh @@ -0,0 +1,17 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +group="x-lab" +# server image name +server_image="$group/test-scheduler:server" +# server container name +server_container="t-scheduler-server" + +docker rm -f $server_container +docker rmi $server_image diff --git a/test-scheduler/docker/server/run.sh b/test-scheduler/docker/server/run.sh new file mode 100644 index 00000000..27305f80 --- /dev/null +++ b/test-scheduler/docker/server/run.sh @@ -0,0 +1,17 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +conductor_network='conductor_default' +group="x-lab" +# server image name +server_image="$group/test-scheduler:server" +# server container name +server_container="t-scheduler-server" + +docker run -d --rm -p 5310:5310 -p 5312:5312 --net=$conductor_network --name $server_container $server_image diff --git a/test-scheduler/docker/ui/Dockerfile b/test-scheduler/docker/ui/Dockerfile new file mode 100644 index 00000000..7190a02d --- /dev/null +++ b/test-scheduler/docker/ui/Dockerfile @@ -0,0 +1,16 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +FROM nginx +MAINTAINER x-lab/Leo + +RUN rm /etc/nginx/conf.d/default.conf + +ADD ./ui/config/default.conf /etc/nginx/conf.d/ +COPY ./docker/ui/dist/ /usr/share/nginx/html/ diff --git a/test-scheduler/docker/ui/build.sh b/test-scheduler/docker/ui/build.sh new file mode 100644 index 00000000..216408cf --- /dev/null +++ b/test-scheduler/docker/ui/build.sh @@ -0,0 +1,22 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) +# get the root directory of this project +projectpath=$basepath/../.. +group="x-lab" +# ui image name +ui_image="$group/test-scheduler:ui" + +# build the ui-project and generate the dist package. +sh $basepath/pre-builder/build.sh +sh $basepath/pre-builder/run.sh + +docker build -t $ui_image -f $basepath/Dockerfile $projectpath diff --git a/test-scheduler/docker/ui/clean.sh b/test-scheduler/docker/ui/clean.sh new file mode 100644 index 00000000..8fc4a51f --- /dev/null +++ b/test-scheduler/docker/ui/clean.sh @@ -0,0 +1,19 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +group="x-lab" +# ui image name +ui_image="$group/test-scheduler:ui" +# ui container name +ui_container="t-scheduler-ui" +docker rm -f $ui_container +docker rmi $ui_image +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) +rm -rf $basepath/dist diff --git a/test-scheduler/docker/ui/pre-builder/Dockerfile b/test-scheduler/docker/ui/pre-builder/Dockerfile new file mode 100644 index 00000000..92fbda32 --- /dev/null +++ b/test-scheduler/docker/ui/pre-builder/Dockerfile @@ -0,0 +1,18 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +FROM node:alpine +MAINTAINER x-lab/Leo +WORKDIR /home/test-scheduler/ui +COPY ./ui . + +RUN npm install +RUN npm run build + +CMD tail -f /dev/null diff --git a/test-scheduler/docker/ui/pre-builder/build.sh b/test-scheduler/docker/ui/pre-builder/build.sh new file mode 100644 index 00000000..12424f06 --- /dev/null +++ b/test-scheduler/docker/ui/pre-builder/build.sh @@ -0,0 +1,17 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) +# get the root directory of this project +projectpath=$basepath/../../.. +group="x-lab" +# ui image name +ui_image="$group/test-scheduler:ui-builder" +docker build -t $ui_image -f $basepath/Dockerfile $projectpath diff --git a/test-scheduler/docker/ui/pre-builder/run.sh b/test-scheduler/docker/ui/pre-builder/run.sh new file mode 100644 index 00000000..ae9998ad --- /dev/null +++ b/test-scheduler/docker/ui/pre-builder/run.sh @@ -0,0 +1,21 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +group="x-lab" +# ui image name +ui_image="$group/test-scheduler:ui-builder" +# ui container name +ui_container='t-scheduler-ui-builder' +# get the absolute path of this shell file. +basepath=$(cd `dirname $0`; pwd) +docker run -d --name $ui_container $ui_image + +docker cp $ui_container:/home/test-scheduler/ui/dist $basepath/../ +docker rm -f $ui_container +docker rmi $ui_image diff --git a/test-scheduler/docker/ui/run.sh b/test-scheduler/docker/ui/run.sh new file mode 100644 index 00000000..1693a480 --- /dev/null +++ b/test-scheduler/docker/ui/run.sh @@ -0,0 +1,17 @@ +############################################################################## +# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +conductor_network='conductor_default' +group="x-lab" +# ui image name +ui_image="$group/test-scheduler:ui" +# ui container name +ui_container="t-scheduler-ui" + +docker run -d --rm -p 5311:5311 --net=$conductor_network --name $ui_container $ui_image -- cgit 1.2.3-korg