diff options
author | Luji7 <lu.ji3@zte.com.cn> | 2017-09-26 12:55:42 +0800 |
---|---|---|
committer | Luji7 <lu.ji3@zte.com.cn> | 2017-09-26 12:55:52 +0800 |
commit | 31cb401df7e9f896afd08a70a01d3b41999ad83f (patch) | |
tree | e5bc2a2d087d8adca98e18be6d6ce74f26898969 | |
parent | efa0010e75ef069fdcfbe7d256d0a638f1603f91 (diff) |
add docker configuration
Change-Id: I032fab3d9c9f78ff7b5687c5e961ab4436b7fbd2
Issue-Id: USECASEUI-36
Signed-off-by: Luji7 <lu.ji3@zte.com.cn>
-rw-r--r-- | distribution/pom.xml | 300 | ||||
-rw-r--r-- | distribution/src/main/assembly/Dockerfile | 23 | ||||
-rw-r--r-- | distribution/src/main/assembly/shutdown.bat | 24 | ||||
-rw-r--r-- | distribution/src/main/assembly/shutdown.sh | 27 | ||||
-rw-r--r-- | distribution/src/main/assembly/startup.bat | 26 | ||||
-rw-r--r-- | distribution/src/main/assembly/startup.sh | 29 | ||||
-rw-r--r-- | pom.xml | 33 |
7 files changed, 462 insertions, 0 deletions
diff --git a/distribution/pom.xml b/distribution/pom.xml new file mode 100644 index 00000000..13a23ad1 --- /dev/null +++ b/distribution/pom.xml @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 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/maven-v4_0_0.xsd"> + <parent> + <groupId>org.onap.usecase-ui</groupId> + <artifactId>usecase-ui</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>distribution</artifactId> + <packaging>pom</packaging> + <name>usecase-ui/distribution</name> + + <properties> + <packagename>usecase-ui</packagename> + <version.logback>1.1.2</version.logback> + <version.slf4j>1.7.6</version.slf4j> + <linux64id>linux64</linux64id> + <win64id>win64</win64id> + <linux64outputdir>target/assembly/${linux64id}</linux64outputdir> + <win64outputdir>target/assembly/${win64id}</win64outputdir> + <version.output>target/version</version.output> + </properties> + + <build> + <finalName>usecse-ui</finalName> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>unpack-tomcat-to-temporary-dir</id> + <phase>generate-resources</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.apache.tomcat</groupId> + <artifactId>tomcat</artifactId> + <type>zip</type> + <outputDirectory>target/tomcat</outputDirectory> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <executions> + <execution> + <id>copy-resources-portal-linux</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${linux64outputdir}/tomcat/webapps/</outputDirectory> + <resources> + <resource> + <directory>../usecaseui-common/target/</directory> + <filtering>false</filtering> + <includes> + <include>usecase-ui.war</include> + </includes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <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> + </excludes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-tomcat-resources-${linux64id}</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${linux64outputdir}/tomcat</outputDirectory> + <resources> + <resource> + <directory>${basedir}/target/tomcat/apache-tomcat-${tomcat.version}</directory> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>**/*.bat</exclude> + </excludes> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-resources-portal-win</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${win64outputdir}/tomcat/webapps/</outputDirectory> + <resources> + <resource> + <directory>../usecaseui-common/target/</directory> + <filtering>false</filtering> + <includes> + <include>usecase-ui.war</include> + </includes> + </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> + </excludes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-tomcat-resources-${win64id}</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${win64outputdir}/tomcat</outputDirectory> + <resources> + <resource> + <directory>${basedir}/target/tomcat/apache-tomcat-${tomcat.version}</directory> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>**/*.sh</exclude> + </excludes> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-dockerfile</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${version.output}</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-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</name> + <build> + <cleanup>try</cleanup> + <dockerFileDir>${basedir}/${version.output}</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> + +</project> diff --git a/distribution/src/main/assembly/Dockerfile b/distribution/src/main/assembly/Dockerfile new file mode 100644 index 00000000..6fa66de9 --- /dev/null +++ b/distribution/src/main/assembly/Dockerfile @@ -0,0 +1,23 @@ +FROM ubuntu:16.04 + +MAINTAINER "Lu Ji" <lu.ji3@zte.com.cn> + +EXPOSE 8080 + +RUN apt-get update && \ + apt-get install -y openjdk-8-jdk + +#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 gui related resources to the docker image +RUN mkdir /home/uui +WORKDIR /home/uui +ADD usecase-ui-*-linux64.tar.gz /home/uui/ +RUN chmod 755 /home/esr/*.sh + +ENTRYPOINT /home/uui/startup.sh diff --git a/distribution/src/main/assembly/shutdown.bat b/distribution/src/main/assembly/shutdown.bat new file mode 100644 index 00000000..31b81c42 --- /dev/null +++ b/distribution/src/main/assembly/shutdown.bat @@ -0,0 +1,24 @@ +@REM +@REM Copyright 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 + +set RUNHOME=%~dp0 +echo ##RUNHOME %RUNHOME% + +echo ### shutdown blueprint +start /D %RUNHOME%tomcat bin\shutdown.bat diff --git a/distribution/src/main/assembly/shutdown.sh b/distribution/src/main/assembly/shutdown.sh new file mode 100644 index 00000000..f3a97b30 --- /dev/null +++ b/distribution/src/main/assembly/shutdown.sh @@ -0,0 +1,27 @@ +# +# Copyright 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 "### shutdown usecase-ui"; +cd $RUNHOME +cd ./tomcat +export CATALINA_HOME=$RUNHOME/tomcat +export CATALINA_BASE=$RUNHOME/tomcat +$RUNHOME/tomcat/bin/shutdown.sh & +echo "### shutdown usecase-ui end"; diff --git a/distribution/src/main/assembly/startup.bat b/distribution/src/main/assembly/startup.bat new file mode 100644 index 00000000..ebf5a43f --- /dev/null +++ b/distribution/src/main/assembly/startup.bat @@ -0,0 +1,26 @@ +@REM +@REM Copyright 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 + +set RUNHOME=%~dp0 +echo ##RUNHOME %RUNHOME% + +set CATALINA_HOME=%RUNHOME%tomcat +set CATALINA_BASE=%RUNHOME%tomcat +echo ### Starting tomcat +start /D %RUNHOME%tomcat bin\startup.bat diff --git a/distribution/src/main/assembly/startup.sh b/distribution/src/main/assembly/startup.sh new file mode 100644 index 00000000..e866f872 --- /dev/null +++ b/distribution/src/main/assembly/startup.sh @@ -0,0 +1,29 @@ +# +# Copyright 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 usecase-ui"; +cd ./tomcat +if [ ! -d "$RUNHOME/tomcat/logs" ]; then + mkdir $RUNHOME/tomcat/logs +fi +export CATALINA_HOME=$RUNHOME/tomcat +export CATALINA_BASE=$RUNHOME/tomcat +$RUNHOME/tomcat/bin/startup.sh & +echo "### Starting usecase-ui end"; @@ -34,5 +34,38 @@ <module>usecaseui-common</module> <module>usecaseui-monitor</module> <module>usecaseui-lcm</module> + <module>distribution</module> </modules> + + <properties> + <tomcat.version>8.5.6</tomcat.version> + </properties> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.apache.tomcat</groupId> + <artifactId>tomcat</artifactId> + <version>${tomcat.version}</version> + <type>zip</type> + </dependency> + </dependencies> + </dependencyManagement> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.10</version> + </plugin> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.8</version> + </plugin> + </plugins> + </pluginManagement> + </build> + </project> |