diff options
-rw-r--r-- | distribution/pom.xml | 258 | ||||
-rw-r--r-- | distribution/src/main/assembly/Dockerfile | 26 | ||||
-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 | 34 |
7 files changed, 423 insertions, 1 deletions
diff --git a/distribution/pom.xml b/distribution/pom.xml new file mode 100644 index 00000000..48755ed6 --- /dev/null +++ b/distribution/pom.xml @@ -0,0 +1,258 @@ +<?xml version="1.0"?> +<!-- +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +--> +<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.sdc.sdc-workflow-designer</groupId> + <artifactId>sdc-workflow-designer</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.onap.sdc.sdc-workflow-designer</groupId> + <artifactId>distribution</artifactId> + <name>distribution</name> + <packaging>pom</packaging> + + <properties> + <packagename>sdc-workflow-designer</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> + <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-${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-${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/sdc/sdc-workflow-designer</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..c3073ca5 --- /dev/null +++ b/distribution/src/main/assembly/Dockerfile @@ -0,0 +1,26 @@ +FROM ubuntu:16.04 + +MAINTAINER "Lv Bo" <lv.bo163@zte.com.cn> + +EXPOSE 8080 + +#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 +RUN 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 workflow designer related resources to the docker image +RUN mkdir /home/sdc-workflow-designer +WORKDIR /home/sdc-workflow-designer +ADD sdc-workflow-designer-*-linux64.tar.gz /home/sdc-workflow-designer/ +RUN chmod 755 /home/sdc-workflow-designer/**/*.sh + +ENTRYPOINT /home/sdc-workflow-designer/startup.sh + diff --git a/distribution/src/main/assembly/shutdown.bat b/distribution/src/main/assembly/shutdown.bat new file mode 100644 index 00000000..c2178a3d --- /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 catalog
+
+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..d1762c7b --- /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 blueprint"; +cd $RUNHOME +cd ./tomcat +export CATALINA_HOME=$RUNHOME/tomcat +export CATALINA_BASE=$RUNHOME/tomcat +$RUNHOME/tomcat/bin/shutdown.sh & +echo "### shutdown blueprint end"; diff --git a/distribution/src/main/assembly/startup.bat b/distribution/src/main/assembly/startup.bat new file mode 100644 index 00000000..52bfe3c7 --- /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 catalog
+
+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..d95c99b0 --- /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 blueprint"; +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 blueprint end"; @@ -24,10 +24,42 @@ <groupId>org.onap.sdc.sdc-workflow-designer</groupId> <artifactId>sdc-workflow-designer</artifactId> <packaging>pom</packaging> - <version>1.0.0-SNAPSHOT</version> + <version>1.0.0-SNAPSHOT</version> <name>sdc-sdc-workflow-designer</name> <modules> <module>sdc-workflow-designer-ui</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> |