summaryrefslogtreecommitdiffstats
path: root/test-scheduler/docker
diff options
context:
space:
mode:
Diffstat (limited to 'test-scheduler/docker')
-rw-r--r--test-scheduler/docker/build.sh20
-rw-r--r--test-scheduler/docker/clean.sh32
-rw-r--r--test-scheduler/docker/plugin/Dockerfile24
-rw-r--r--test-scheduler/docker/plugin/build.sh28
-rw-r--r--test-scheduler/docker/plugin/run.sh14
-rw-r--r--test-scheduler/docker/run.sh20
-rw-r--r--test-scheduler/docker/server/Dockerfile29
-rw-r--r--test-scheduler/docker/server/build.sh20
-rw-r--r--test-scheduler/docker/server/clean.sh17
-rw-r--r--test-scheduler/docker/server/run.sh17
-rw-r--r--test-scheduler/docker/ui/Dockerfile16
-rw-r--r--test-scheduler/docker/ui/build.sh22
-rw-r--r--test-scheduler/docker/ui/clean.sh19
-rw-r--r--test-scheduler/docker/ui/pre-builder/Dockerfile18
-rw-r--r--test-scheduler/docker/ui/pre-builder/build.sh17
-rw-r--r--test-scheduler/docker/ui/pre-builder/run.sh21
-rw-r--r--test-scheduler/docker/ui/run.sh17
17 files changed, 351 insertions, 0 deletions
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