From f84fc285718899604c9454fb6ecf0a77e1819ae0 Mon Sep 17 00:00:00 2001 From: Guangrong Fu Date: Tue, 22 Aug 2017 20:18:39 +0800 Subject: [PATCH] Add a Dockerfile for docker-making Change the package file from .zip to .tar.gz for linux Add a Dockerfile Change-Id: I31354fb5d4ffcd135b4f5574dea1ca4249d3c917 Issue-ID: HOLMES-39 Signed-off-by: Guangrong Fu --- rulemgt-standalone/linux64-assembly.xml | 2 +- rulemgt-standalone/pom.xml | 373 ++++++++++++++---------- rulemgt-standalone/src/main/assembly/Dockerfile | 48 +++ 3 files changed, 271 insertions(+), 152 deletions(-) create mode 100644 rulemgt-standalone/src/main/assembly/Dockerfile diff --git a/rulemgt-standalone/linux64-assembly.xml b/rulemgt-standalone/linux64-assembly.xml index 4bb9c11..56676c8 100644 --- a/rulemgt-standalone/linux64-assembly.xml +++ b/rulemgt-standalone/linux64-assembly.xml @@ -19,7 +19,7 @@ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> linux64 - zip + tar.gz false diff --git a/rulemgt-standalone/pom.xml b/rulemgt-standalone/pom.xml index 2327c11..97cca2a 100644 --- a/rulemgt-standalone/pom.xml +++ b/rulemgt-standalone/pom.xml @@ -17,158 +17,229 @@ --> - - org.onap.holmes.rule-management - holmes-rulemgt-parent - 1.0.0-SNAPSHOT - + 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"> + + org.onap.holmes.rule-management + holmes-rulemgt-parent + 1.0.0-SNAPSHOT + - holmes-rulemgt-standalone - 4.0.0 - holmes-rulemgt/holmes-rulemgt-standalone - pom + holmes-rulemgt-standalone + 4.0.0 + holmes-rulemgt/holmes-rulemgt-standalone + pom - - - - maven-resources-plugin - - - copy-resources-${linux64id} - process-resources - - copy-resources - - - ${linux64outputdir} - - - src/main/assembly/ - false - - **/* - - - **/*.bat - - - - true - - - - copy-resources-${win64id} - process-resources - - copy-resources - - - ${win64outputdir} - - - src/main/assembly/ - false - - **/* - - - **/*.sh - - - - true - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-jar-${linux64id} - - copy - - prepare-package - - - - org.onap.holmes.rule-management - holmes-rulemgt - jar - true - ${linux64outputdir} - holmes-rulemgt.jar - - - - - - copy-jar-${win64id} - - copy - - prepare-package - - - - org.onap.holmes.rule-management - holmes-rulemgt - jar - true - ${win64outputdir} - holmes-rulemgt.jar - - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - linux64 - - - linux64-assembly.xml - - true - target/version - - package - - attached - - - - win64 - - - win64-assembly.xml - - true - target/version - - package - - attached - - - - - - + + + + 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.holmes.rule-management + holmes-rulemgt + jar + true + ${linux64outputdir} + holmes-rulemgt.jar + + + + + + copy-jar-${win64id} + + copy + + prepare-package + + + + org.onap.holmes.rule-management + holmes-rulemgt + jar + true + ${win64outputdir} + holmes-rulemgt.jar + + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + linux64 + + + linux64-assembly.xml + + true + target/version + + package + + attached + + + + win64 + + + win64-assembly.xml + + true + target/version + + package + + attached + + + + + + - - - org.onap.holmes.rule-management - holmes-rulemgt - ${project.version} - - + + + docker + + + + io.fabric8 + docker-maven-plugin + 0.16.5 + false + + + + onap/holmes/rule-management + + try + ${basedir}/target/version/ + ${basedir}/target/version/Dockerfile + + ${project.version}-STAGING-latest + + + + + + + + generate-images + package + + build + + + + + push-images + deploy + + build + push + + + + + + + + + + + + org.onap.holmes.rule-management + holmes-rulemgt + ${project.version} + + diff --git a/rulemgt-standalone/src/main/assembly/Dockerfile b/rulemgt-standalone/src/main/assembly/Dockerfile new file mode 100644 index 0000000..0cad89d --- /dev/null +++ b/rulemgt-standalone/src/main/assembly/Dockerfile @@ -0,0 +1,48 @@ +FROM openresty/openresty:alpine + +MAINTAINER "Guangrong Fu" + +#install java-1.8-openjdk + +ENV LANG C.UTF-8 + +# add a simple script that can auto-detect the appropriate JAVA_HOME value +# based on whether the JDK or only the JRE is installed +RUN { \ + echo '#!/bin/sh'; \ + echo 'set -e'; \ + echo; \ + echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \ + } > /usr/local/bin/docker-java-home \ + && chmod +x /usr/local/bin/docker-java-home +ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk +ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin + +ENV JAVA_VERSION 8u131 +ENV JAVA_ALPINE_VERSION 8.131.11-r2 + +RUN set -x \ + && apk add --no-cache \ + openjdk8="$JAVA_ALPINE_VERSION" \ + && [ "$JAVA_HOME" = "$(docker-java-home)" ] + +#add holmes related resources to the docker image + +RUN mkdir /home/holmes + +WORKDIR /home/holmes + +ADD holmes-rulemgt-standalone-*-linux64.tar.gz /home/holmes/ + +#RUN apt-get update + +#RUN apt-get install unzip + +#RUN unzip -qo holmes-rulemgt-standalone-*-linux64.zip -d . + +RUN chmod 755 /home/holmes/bin/*.sh + + +CMD /home/holmes/bin/run.sh + + -- 2.16.6