diff options
author | Luji7 <lu.ji3@zte.com.cn> | 2017-09-25 14:15:59 +0800 |
---|---|---|
committer | Luji7 <lu.ji3@zte.com.cn> | 2017-09-25 14:16:08 +0800 |
commit | cdb18b6e9e8c707a7447c77442bc7a9592c4672f (patch) | |
tree | c0eb3e9a34e3ad464499bcb032773a5b454dff66 /standalone | |
parent | 7f5a54dd33d03238c791d9b01a66f2e179cbd1bf (diff) |
add docker config
Change-Id: I1c36f11873ac48cc5f7345068869b194e90f4462
Issue-Id: USECASEUI-36
Signed-off-by: Luji7 <lu.ji3@zte.com.cn>
Diffstat (limited to 'standalone')
-rw-r--r-- | standalone/pom.xml | 248 | ||||
-rw-r--r-- | standalone/src/main/assembly/Dockerfile | 35 | ||||
-rw-r--r-- | standalone/src/main/assembly/bin/find_kill_process.bat | 24 | ||||
-rw-r--r-- | standalone/src/main/assembly/bin/run.bat | 41 | ||||
-rw-r--r-- | standalone/src/main/assembly/bin/run.sh | 39 | ||||
-rw-r--r-- | standalone/src/main/assembly/bin/stop.bat | 34 | ||||
-rw-r--r-- | standalone/src/main/assembly/bin/stop.sh | 48 |
7 files changed, 469 insertions, 0 deletions
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 @@ +<?xml version="1.0"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <groupId>org.onap.usecase-ui.server</groupId> + <artifactId>usecase-ui-server-parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>standalone</artifactId> + <name>usecase-server/standalone</name> + <packaging>pom</packaging> + + <properties> + <packagename>usecase-ui-server</packagename> + <linux64id>linux64</linux64id> + <win64id>win64</win64id> + <linux64outputdir>target/assembly/${linux64id}</linux64outputdir> + <win64outputdir>target/assembly/${win64id}</win64outputdir> + <version.output>target/version</version.output> + </properties> + + <build> + <plugins> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <executions> + <execution> + <id>copy-resources-${linux64id}</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${linux64outputdir}</outputDirectory> + <resources> + <resource> + <directory>src/main/assembly/</directory> + <filtering>false</filtering> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>**/*.bat</exclude> + <exclude>Dockerfile</exclude> + </excludes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-resources-${win64id}</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${win64outputdir}</outputDirectory> + <resources> + <resource> + <directory>src/main/assembly/</directory> + <filtering>false</filtering> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>**/*.sh</exclude> + <exclude>Dockerfile</exclude> + </excludes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-dockerfile</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>target/version</outputDirectory> + <resources> + <resource> + <directory>src/main/assembly/</directory> + <filtering>false</filtering> + <includes> + <include>Dockerfile</include> + </includes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy-jar-${linux64id}</id> + <goals> + <goal>copy</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.usecase-ui.server</groupId> + <artifactId>usecase-ui-server</artifactId> + <type>jar</type> + <overWrite>true</overWrite> + <outputDirectory>${linux64outputdir}</outputDirectory> + <destFileName>usecase-ui-server.jar</destFileName> + </artifactItem> + </artifactItems> + </configuration> + </execution> + <execution> + <id>copy-jar-${win64id}</id> + <goals> + <goal>copy</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.usecase-ui.server</groupId> + <artifactId>usecase-ui-server</artifactId> + <type>jar</type> + <overWrite>true</overWrite> + <outputDirectory>${win64outputdir}</outputDirectory> + <destFileName>usecase-ui-server.jar</destFileName> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>distribution</id> + <phase>package</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target name="distribution"> + <tar destfile="${version.output}/${packagename}-${project.version}-linux64.tar.gz" longfile="posix" compression="gzip"> + <tarfileset dir="target/assembly/linux64" filemode="0644" dirmode="0755"> + <exclude name="**/*.sh"/> + </tarfileset> + <tarfileset dir="target/assembly/linux64" filemode="0755" dirmode="0755"> + <include name="**/*.sh"/> + </tarfileset> + </tar> + <attachartifact file="${version.output}/${packagename}-${project.version}-linux64.tar.gz" classifier="linux64" type="tar.gz"/> + <zip destfile="${version.output}/${packagename}-${project.version}-win64.zip" update="true"> + <zipfileset dir="target/assembly/win64" includes="**"/> + </zip> + <attachartifact file="${version.output}/${packagename}-${project.version}-win64.zip" classifier="win64" type="zip"/> + </target> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>docker</id> + <build> + <plugins> + <plugin> + <groupId>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>0.16.5</version> + <inherited>false</inherited> + <configuration> + <images> + <image> + <name>onap/usecase-ui/usecase-ui-server</name> + <build> + <cleanup>try</cleanup> + <dockerFileDir>${basedir}/target/version/</dockerFileDir> + <dockerFile>${basedir}/target/version/Dockerfile</dockerFile> + <tags> + <tag>${project.version}-STAGING-latest</tag> + </tags> + </build> + </image> + </images> + </configuration> + <executions> + <execution> + <id>generate-images</id> + <phase>package</phase> + <goals> + <goal>build</goal> + </goals> + </execution> + + <execution> + <id>push-images</id> + <phase>deploy</phase> + <goals> + <goal>build</goal> + <goal>push</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> + + <dependencies> + <dependency> + <groupId>org.onap.usecase-ui.server</groupId> + <artifactId>usecase-ui-server</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> +</project> 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" <lu.ji3@zte.com.cn> + +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 |