From cdb18b6e9e8c707a7447c77442bc7a9592c4672f Mon Sep 17 00:00:00 2001 From: Luji7 Date: Mon, 25 Sep 2017 14:15:59 +0800 Subject: add docker config Change-Id: I1c36f11873ac48cc5f7345068869b194e90f4462 Issue-Id: USECASEUI-36 Signed-off-by: Luji7 --- pom.xml | 2 +- standalone/pom.xml | 248 +++++++++++++++++++++ standalone/src/main/assembly/Dockerfile | 35 +++ .../src/main/assembly/bin/find_kill_process.bat | 24 ++ standalone/src/main/assembly/bin/run.bat | 41 ++++ standalone/src/main/assembly/bin/run.sh | 39 ++++ standalone/src/main/assembly/bin/stop.bat | 34 +++ standalone/src/main/assembly/bin/stop.sh | 48 ++++ 8 files changed, 470 insertions(+), 1 deletion(-) create mode 100644 standalone/pom.xml create mode 100644 standalone/src/main/assembly/Dockerfile create mode 100644 standalone/src/main/assembly/bin/find_kill_process.bat create mode 100644 standalone/src/main/assembly/bin/run.bat create mode 100644 standalone/src/main/assembly/bin/run.sh create mode 100644 standalone/src/main/assembly/bin/stop.bat create mode 100644 standalone/src/main/assembly/bin/stop.sh diff --git a/pom.xml b/pom.xml index 434e3f68..47e66c2c 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ server - + standalone diff --git a/standalone/pom.xml b/standalone/pom.xml new file mode 100644 index 00000000..25e83db6 --- /dev/null +++ b/standalone/pom.xml @@ -0,0 +1,248 @@ + + + + + org.onap.usecase-ui.server + usecase-ui-server-parent + 1.0.0-SNAPSHOT + + + 4.0.0 + standalone + usecase-server/standalone + pom + + + usecase-ui-server + linux64 + win64 + target/assembly/${linux64id} + target/assembly/${win64id} + target/version + + + + + + maven-resources-plugin + + + copy-resources-${linux64id} + process-resources + + copy-resources + + + ${linux64outputdir} + + + src/main/assembly/ + false + + **/* + + + **/*.bat + Dockerfile + + + + true + + + + copy-resources-${win64id} + process-resources + + copy-resources + + + ${win64outputdir} + + + src/main/assembly/ + false + + **/* + + + **/*.sh + Dockerfile + + + + true + + + + copy-dockerfile + process-resources + + copy-resources + + + target/version + + + src/main/assembly/ + false + + Dockerfile + + + + true + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-jar-${linux64id} + + copy + + prepare-package + + + + org.onap.usecase-ui.server + usecase-ui-server + jar + true + ${linux64outputdir} + usecase-ui-server.jar + + + + + + copy-jar-${win64id} + + copy + + prepare-package + + + + org.onap.usecase-ui.server + usecase-ui-server + jar + true + ${win64outputdir} + usecase-ui-server.jar + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + distribution + package + + run + + + + + + + + + + + + + + + + + + + + + + + + + + + docker + + + + io.fabric8 + docker-maven-plugin + 0.16.5 + false + + + + onap/usecase-ui/usecase-ui-server + + try + ${basedir}/target/version/ + ${basedir}/target/version/Dockerfile + + ${project.version}-STAGING-latest + + + + + + + + generate-images + package + + build + + + + + push-images + deploy + + build + push + + + + + + + + + + + + org.onap.usecase-ui.server + usecase-ui-server + ${project.version} + + + diff --git a/standalone/src/main/assembly/Dockerfile b/standalone/src/main/assembly/Dockerfile new file mode 100644 index 00000000..9842b019 --- /dev/null +++ b/standalone/src/main/assembly/Dockerfile @@ -0,0 +1,35 @@ +FROM ubuntu:16.04 + +MAINTAINER "Lu Ji" + +EXPOSE 8082 +EXPOSE 3306 + +#install openjdk-1.8 +#RUN sed -i 's#http://archive.ubuntu.com#http://mirrors.163.com#g' /etc/apt/sources.list + +RUN apt-get update && \ + apt-get install -y openjdk-8-jdk && \ + apt-get install -y gcc && \ + apt-get install -y libmysqlclient-dev && \ + apt-get install -y mysql-server && \ + apt-get install -y mysql-client && \ + apt-get install -y curl && \ + apt-get install -y build-essential && \ + apt-get install -y libssl-dev && \ + apt-get install -y libffi-dev + +#configure the JDK +RUN sed -i 's|#networkaddress.cache.ttl=-1|networkaddress.cache.ttl=10|' /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 +ENV PATH $PATH:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin +ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib +ENV JRE_HOME ${JAVA_HOME}/jre + +#add uui related resources to the docker image +RUN mkdir /home/uui +WORKDIR /home/uui +ADD usecase-ui-server-*-linux64.tar.gz /home/uui/ +RUN chmod 755 /home/uui/bin/*.sh + +ENTRYPOINT /home/uui/bin/run.sh diff --git a/standalone/src/main/assembly/bin/find_kill_process.bat b/standalone/src/main/assembly/bin/find_kill_process.bat new file mode 100644 index 00000000..d93ab46b --- /dev/null +++ b/standalone/src/main/assembly/bin/find_kill_process.bat @@ -0,0 +1,24 @@ +@REM +@REM Copyright 2016-2017 ZTE Corporation. +@REM +@REM Licensed under the Apache License, Version 2.0 (the "License"); +@REM you may not use this file except in compliance with the License. +@REM You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, software +@REM distributed under the License is distributed on an "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@REM See the License for the specific language governing permissions and +@REM limitations under the License. +@REM + +echo %1 | findstr %2 >NUL +echo ERRORLEVEL=%ERRORLEVEL% +IF ERRORLEVEL 1 goto findend +for /f "tokens=1" %%a in (%1) do ( + echo kill %1 + taskkill /F /pid %%a +) +:findend \ No newline at end of file diff --git a/standalone/src/main/assembly/bin/run.bat b/standalone/src/main/assembly/bin/run.bat new file mode 100644 index 00000000..1f3353ce --- /dev/null +++ b/standalone/src/main/assembly/bin/run.bat @@ -0,0 +1,41 @@ +@REM +@REM Copyright 2016-2017 ZTE Corporation. +@REM +@REM Licensed under the Apache License, Version 2.0 (the "License"); +@REM you may not use this file except in compliance with the License. +@REM You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, software +@REM distributed under the License is distributed on an "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@REM See the License for the specific language governing permissions and +@REM limitations under the License. +@REM + +@echo off +title usecase-ui-server + +set RUNHOME=%~dp0 +echo ### RUNHOME: %RUNHOME% +echo ### Starting usecase-ui-server +set main_path=%RUNHOME%..\ +cd /d %main_path% +set JAVA="%JAVA_HOME%\bin\java.exe" +rem set port=9500 +set jvm_opts=-Xms50m -Xmx128m +rem set jvm_opts=%jvm_opts% -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=%port%,server=y,suspend=n +set class_path=%main_path%;%main_path%usecase-ui-server.jar +echo ### jvm_opts: %jvm_opts% +echo ### class_path: %class_path% + +%JAVA% -classpath %class_path% %jvm_opts% -jar %main_path%usecase-ui-server.jar + +IF ERRORLEVEL 1 goto showerror +exit +:showerror +echo WARNING: Error occurred during startup or Server abnormally stopped by way of killing the process,Please check! +echo After checking, press any key to close +pause +exit diff --git a/standalone/src/main/assembly/bin/run.sh b/standalone/src/main/assembly/bin/run.sh new file mode 100644 index 00000000..cccbb8e1 --- /dev/null +++ b/standalone/src/main/assembly/bin/run.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# +# Copyright 2016-2017 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +DIRNAME=`dirname $0` +RUNHOME=`cd $DIRNAME/; pwd` +echo @RUNHOME@ $RUNHOME + +echo "Starting mysql" +service mysql start +sleep 1 + +echo @JAVA_HOME@ $JAVA_HOME +JAVA="$JAVA_HOME/bin/java" +echo @JAVA@ $JAVA +main_path=$RUNHOME/../ +cd $main_path +JAVA_OPTS="-Xms50m -Xmx128m" +#port=9500 +#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$port,server=y,suspend=n" +echo @JAVA_OPTS@ $JAVA_OPTS + +class_path="$main_path/:$main_path/usecase-ui-server.jar" +echo @class_path@ $class_path + +"$JAVA" $JAVA_OPTS -classpath "$class_path" -jar "$main_path/usecase-ui-server.jar" diff --git a/standalone/src/main/assembly/bin/stop.bat b/standalone/src/main/assembly/bin/stop.bat new file mode 100644 index 00000000..b7555ea5 --- /dev/null +++ b/standalone/src/main/assembly/bin/stop.bat @@ -0,0 +1,34 @@ +@REM +@REM Copyright 2016-2017 ZTE Corporation. +@REM +@REM Licensed under the Apache License, Version 2.0 (the "License"); +@REM you may not use this file except in compliance with the License. +@REM You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, software +@REM distributed under the License is distributed on an "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@REM See the License for the specific language governing permissions and +@REM limitations under the License. +@REM + +@echo off +title stopping usecase-ui-server + +set HOME=%~dp0 +set Main_Class="usecase-ui-server" + +echo ================== esr-service info ============================================= +echo HOME=$HOME +echo Main_Class=%Main_Class% +echo =============================================================================== + +echo ### Stopping usecase-ui-server +cd /d %HOME% + +for /f "delims=" %%i in ('"%JAVA_HOME%\bin\jcmd"') do ( + call find_kill_process "%%i" %Main_Class% +) +exit diff --git a/standalone/src/main/assembly/bin/stop.sh b/standalone/src/main/assembly/bin/stop.sh new file mode 100644 index 00000000..cacd1186 --- /dev/null +++ b/standalone/src/main/assembly/bin/stop.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# +# Copyright 2016-2017 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +DIRNAME=`dirname $0` +HOME=`cd $DIRNAME/; pwd` +Main_Class="usecase-ui-server" + +echo ================== usecase-ui-server info ============================================= +echo HOME=$HOME +echo Main_Class=$Main_Class +echo =============================================================================== +cd $HOME; pwd + +echo @WORK_DIR@ $HOME + +function save_service_pid(){ + service_pid=`ps -ef | grep $Main_Class | grep -v grep | awk '{print $2}'` + echo @service_pid@ $service_pid +} + +function kill_service_process(){ + ps -p $service_pid + if [ $? == 0 ]; then + kill -9 $service_pid + fi +} + +save_service_pid; +echo @C_CMD@ kill -9 $service_pid +kill_service_process; + +echo "Stoping mysql" +service mysql stop +sleep 1 -- cgit 1.2.3-korg