diff options
Diffstat (limited to 'testing-scheduler')
-rw-r--r-- | testing-scheduler/.gitignore | 33 | ||||
-rw-r--r-- | testing-scheduler/docker/build.sh | 20 | ||||
-rw-r--r-- | testing-scheduler/docker/clean.sh | 32 | ||||
-rw-r--r-- | testing-scheduler/docker/plugin/Dockerfile | 24 | ||||
-rw-r--r-- | testing-scheduler/docker/plugin/build.sh | 28 | ||||
-rw-r--r-- | testing-scheduler/docker/plugin/run.sh | 14 | ||||
-rw-r--r-- | testing-scheduler/docker/run.sh | 20 | ||||
-rw-r--r-- | testing-scheduler/docker/server/Dockerfile | 29 | ||||
-rw-r--r-- | testing-scheduler/docker/server/build.sh | 20 | ||||
-rw-r--r-- | testing-scheduler/docker/server/clean.sh | 17 | ||||
-rw-r--r-- | testing-scheduler/docker/server/run.sh | 17 | ||||
-rw-r--r-- | testing-scheduler/docker/ui/Dockerfile | 16 | ||||
-rw-r--r-- | testing-scheduler/docker/ui/build.sh | 22 | ||||
-rw-r--r-- | testing-scheduler/docker/ui/clean.sh | 19 | ||||
-rw-r--r-- | testing-scheduler/docker/ui/pre-builder/Dockerfile | 18 | ||||
-rw-r--r-- | testing-scheduler/docker/ui/pre-builder/build.sh | 17 | ||||
-rw-r--r-- | testing-scheduler/docker/ui/pre-builder/run.sh | 21 | ||||
-rw-r--r-- | testing-scheduler/docker/ui/run.sh | 17 |
18 files changed, 384 insertions, 0 deletions
diff --git a/testing-scheduler/.gitignore b/testing-scheduler/.gitignore new file mode 100644 index 00000000..68eeb624 --- /dev/null +++ b/testing-scheduler/.gitignore @@ -0,0 +1,33 @@ +#################################
+## files in server directory
+#################################
+
+# PYTHON PYC FILE
+/server/**/*.pyc
+
+#############################################################
+
+
+#################################
+## files in ui directory
+#################################
+/ui/.DS_Store
+/ui/node_modules/
+/ui/dist/
+/ui/npm-debug.log*
+/ui/yarn-debug.log*
+/ui/yarn-error.log*
+
+# Editor directories and files
+/ui/.idea
+/ui/.vscode
+/ui/*.suo
+/ui/*.ntvs*
+/ui/*.njsproj
+/ui/*.sln
+
+#################################
+## files in docker directory
+#################################
+/docker/plugin/tmp_files/
+/docker/ui/dist/
\ No newline at end of file diff --git a/testing-scheduler/docker/build.sh b/testing-scheduler/docker/build.sh new file mode 100644 index 00000000..5ff9dacb --- /dev/null +++ b/testing-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
\ No newline at end of file diff --git a/testing-scheduler/docker/clean.sh b/testing-scheduler/docker/clean.sh new file mode 100644 index 00000000..b18e4067 --- /dev/null +++ b/testing-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/testing-scheduler:server \
+ x-lab/testing-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 ---"
\ No newline at end of file diff --git a/testing-scheduler/docker/plugin/Dockerfile b/testing-scheduler/docker/plugin/Dockerfile new file mode 100644 index 00000000..d6297937 --- /dev/null +++ b/testing-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
\ No newline at end of file diff --git a/testing-scheduler/docker/plugin/build.sh b/testing-scheduler/docker/plugin/build.sh new file mode 100644 index 00000000..cfcb98d8 --- /dev/null +++ b/testing-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/testing-scheduler/docker/plugin/run.sh b/testing-scheduler/docker/plugin/run.sh new file mode 100644 index 00000000..8021eef5 --- /dev/null +++ b/testing-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
\ No newline at end of file diff --git a/testing-scheduler/docker/run.sh b/testing-scheduler/docker/run.sh new file mode 100644 index 00000000..e303dceb --- /dev/null +++ b/testing-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
\ No newline at end of file diff --git a/testing-scheduler/docker/server/Dockerfile b/testing-scheduler/docker/server/Dockerfile new file mode 100644 index 00000000..e04873ea --- /dev/null +++ b/testing-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/testing-scheduler/server
+COPY ./server .
+
+RUN pip install -r ./python_modules.txt
+
+ENV CONDUCTOR_DIR /home/testing-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/testing-scheduler/docker/server/build.sh b/testing-scheduler/docker/server/build.sh new file mode 100644 index 00000000..27f6de33 --- /dev/null +++ b/testing-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/testing-scheduler:server"
+
+docker build -t $server_image -f $basepath/Dockerfile $projectpath
\ No newline at end of file diff --git a/testing-scheduler/docker/server/clean.sh b/testing-scheduler/docker/server/clean.sh new file mode 100644 index 00000000..900326be --- /dev/null +++ b/testing-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/testing-scheduler:server"
+# server container name
+server_container="t-scheduler-server"
+
+docker rm -f $server_container
+docker rmi $server_image
\ No newline at end of file diff --git a/testing-scheduler/docker/server/run.sh b/testing-scheduler/docker/server/run.sh new file mode 100644 index 00000000..d486f869 --- /dev/null +++ b/testing-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/testing-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
\ No newline at end of file diff --git a/testing-scheduler/docker/ui/Dockerfile b/testing-scheduler/docker/ui/Dockerfile new file mode 100644 index 00000000..212394a8 --- /dev/null +++ b/testing-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/
\ No newline at end of file diff --git a/testing-scheduler/docker/ui/build.sh b/testing-scheduler/docker/ui/build.sh new file mode 100644 index 00000000..52286a8a --- /dev/null +++ b/testing-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/testing-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
\ No newline at end of file diff --git a/testing-scheduler/docker/ui/clean.sh b/testing-scheduler/docker/ui/clean.sh new file mode 100644 index 00000000..5ab4e219 --- /dev/null +++ b/testing-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/testing-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
\ No newline at end of file diff --git a/testing-scheduler/docker/ui/pre-builder/Dockerfile b/testing-scheduler/docker/ui/pre-builder/Dockerfile new file mode 100644 index 00000000..f69667f4 --- /dev/null +++ b/testing-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/testing-scheduler/ui
+COPY ./ui .
+
+RUN npm install
+RUN npm run build
+
+CMD tail -f /dev/null
\ No newline at end of file diff --git a/testing-scheduler/docker/ui/pre-builder/build.sh b/testing-scheduler/docker/ui/pre-builder/build.sh new file mode 100644 index 00000000..7f227ed2 --- /dev/null +++ b/testing-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/testing-scheduler:ui-builder"
+docker build -t $ui_image -f $basepath/Dockerfile $projectpath
\ No newline at end of file diff --git a/testing-scheduler/docker/ui/pre-builder/run.sh b/testing-scheduler/docker/ui/pre-builder/run.sh new file mode 100644 index 00000000..a16f1c54 --- /dev/null +++ b/testing-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/testing-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/testing-scheduler/ui/dist $basepath/../
+docker rm -f $ui_container
+docker rmi $ui_image
\ No newline at end of file diff --git a/testing-scheduler/docker/ui/run.sh b/testing-scheduler/docker/ui/run.sh new file mode 100644 index 00000000..12f4bae0 --- /dev/null +++ b/testing-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/testing-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
\ No newline at end of file |